function - 无法到达函数中的类参数
问题描述
我无法在类函数中达到类参数(应用程序)。请解释一下这背后的原因是什么?为什么参数可以在类体内访问,但不能从类函数中访问?
class VM_MainActivity(application: Application) : AndroidViewModel(application) {
val taskEntities:List<TaskEntity>?= Repository(application.applicationContext).taskEntities //"application" is reachable
fun fillWithSampleData() {
Repository(**application**.applicationContext).fillDBwithSampleData() //error: Unresolved refernce: application
}
}
解决方案
在您的代码中,application
是传递给构造函数的参数。它仅在构造实例时可用:在运行任何init { }
块和初始化任何属性时。(后者是您可以使用它来初始化的原因taskEntities
。)之后它不会持续存在。
如果您希望您的实例“记住”参数的值,请在其前面添加val
(或var
)以使其成为属性:
class VM_MainActivity(val application: Application) // …
推荐阅读
- email - 检查 Postfix 发送的电子邮件的状态
- react-native - 导航到嵌套路由,向堆栈添加更多路由
- javascript - 点击这个反应 emoji DIScord.js 时是否可以删除消息
- c++ - 同时写入内存中的一个字节
- c++ - 升级到 1.72.0 后 Boost 构建失败 - 两次相同的目标
- xslt-2.0 - format-number() 带有图片字符串 '#.##'
- bash - 如何将多个文件的内容附加到单个文件?
- c++ - 传递给另一个函数时获取数组的长度
- jquery - 如何在 n 秒后重试 AJAX 循环 n 次?
- windows - 尽管设置了 ImagePullPolicy=Never,但无法使用 kubectl 和 minikube 启动 pod