val showMethod:(String) -> Unit = this::showLoadingDialog
override fun start(msg: String) = showMethod
我想使用启动方法= this :: showLoadingDialog, 但是出现编译错误!该方法不是重写***的子类型!
为什么?我该怎么办?
答案 0 :(得分:3)
这是不正确的,因为start
不是变量,而是函数。
override fun start(msg: String) = showMethod
等效于
override fun start(msg: String) {
return showMethod
}
这是不正确的。 start
应该返回Unit
而不是(String) -> Unit
您想做的是
override fun start(msg: String) {
return showMethod(msg)
}
等效于
override fun start(msg: String) = showMethod(msg)