【发布时间】:2021-05-04 11:50:44
【问题描述】:
我有一个带有@StringRes 注释的抽象值的类:
@get: StringRes
abstract val foo : Int
不幸的是,当我像这样在实现中将非 StringRes 传递给该值时:
override val foo = 2
它仍然可以正常编译 - 但我希望它抛出编译时错误。
到目前为止,我发现的唯一解决方法是使用函数而不是 val - 所以这在编译时会失败:
@StringRes
abstract fun bar() : Int
和
override fun bar() = 1
但我想在这种情况下使用 val。任何人都知道如何使用 val 来做到这一点?
【问题讨论】: