在Kotlin没有吸气的财产

我怎样才能用一个自定义的setter声明一个属性,但是在Kotlin没有getter? 例如在安科 ,他们这样做:

var myProperty: Type @Deprecated(AnkoInternals.NO_GETTER, level = DeprecationLevel.ERROR) get() = AnkoInternals.noGetter() set(value) { field = value; /* setter logic */ } 

但是对我来说这看起来有些不好意思。 这是一个正确的方法吗? 如果是,那么项目没有Anko依赖的情况呢?

PS让我清楚 – 我想要的不是吸气,而是私人的吸气

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

您不需要@Deprecated依赖项,只需使用具有适当level@Deprecated注释。