我一直在阅读Kotlin的房产,包括定制的吸气剂和制定者.
但是,我想知道是否可以创建一个带有额外参数的自定义getter.
例如,请考虑Java中的以下方法:
public String getDisplayedValue(Context context) {
if (PrefUtils.useImperialUnits(context)) {
// return stuff
} else {
// return other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,静态方法PrefUtils必须Context具有参数,因此不能选择删除它.
我想在Kotlin中这样写:
val displayedValue: String
get(context: Context) {
return if (PrefUtils.useImperialUnits(context)) {
// stuff
} else {
// other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
但是我的IDE用红色突出了所有这些.
我知道我可以在我的类来获得所显示的值的函数,而这将意味着我将不得不使用.getDisplayedValue(Context)在科特林的能够通过名字来引用该属性作为以及代替.displayedValue.
有没有办法创建这样的自定义getter?
编辑:如果没有,最好为此编写一个函数,或传递Context给类构造函数的参数?
| 归档时间: |
|
| 查看次数: |
3420 次 |
| 最近记录: |