如何使用自定义setter声明属性,但在Kotlin中没有getter? 例如,在Anko中他们这样做:
var myProperty: Type
@Deprecated(AnkoInternals.NO_GETTER, level = DeprecationLevel.ERROR)
get() = AnkoInternals.noGetter()
set(value) { field = value; /* setter logic */ }
但对我来说这看起来有些笨拙。这是一种正确的方法吗?如果是,那么当一个项目没有Anko依赖时呢?
P.S。让我说清楚 - 我想完全没有吸气剂,而不是私人吸气剂
答案 0 :(得分:6)
弃用setter仍然是获得效果的唯一方法。
您不需要Anko依赖项,只需将@Deprecated
注释与适当的level
一起使用。