android - 你如何在 Kotlin 中注释 Pair 参数?
问题描述
我想Pair<Int, Int>
用作返回类型,其中一个 Int 用@StringRes
.
Pair<@param:StringRes Int, Int>
给出弃用警告。
解决方案
你不能。问题是 Android@StringRes
不适用于目标TYPE_USE
(或TYPE
Kotlin)。
如果它是这样定义的(java),它将起作用:
@Retention(SOURCE)
@Target({METHOD, PARAMETER, FIELD, TYPE_USE})
public @interface StringRes {
}
现在它可以工作了:
fun fooIt(p: Pair<@StringRes Int, Foo>) {}
有一个未解决的问题:https ://issuetracker.google.com/issues/109714923
但是,尽管有弃用警告,您的解决方案可能确实有效。我没有测试过。