在Kotlin没有吸气剂的财产

时间:2017-07-25 19:18:07

标签: kotlin

如何使用自定义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。让我说清楚 - 我想完全没有吸气剂,而不是私人吸气剂

1 个答案:

答案 0 :(得分:6)

弃用setter仍然是获得效果的唯一方法。

您不需要Anko依赖项,只需将@Deprecated注释与适当的level一起使用。