关于扩展属性
来源:7-9 枚举类 enum class

turboburst
2020-12-02
在学习枚举类的时候,既然枚举类可以有扩展方法,那我觉得也应该有扩展属性,于是我写了下面的代码
enum class EnumClass(val price:Double){
enum1(112.3),
enum2(34.2),
enum3(56.3);
}
var EnumClass.myField: Int
get() {
return myField
}
set(value) {myField = value}
}
但是这样就一定会有问题,在main里如果我这样写:EnumClass.enum2.myField = 9,这是无法运行的会报错,如果不是扩展属性,我可以使用field,但是扩展属性的情况下,要怎么做呢?
写回答
1回答
-
跟枚举无关。扩展属性不能有backingfield,所以扩展属性本质上就是扩展函数,不能存值。
012020-12-10
相似问题