在下面的代码中,我向数据类WiFiDef添加了一个有趣的myGet,我希望有趣的myGet可以返回WiFiDef的对象。
但是这些代码无法编译,错误提示是预期的类型,为什么?我该如何解决?谢谢!
data class WiFiDef(
val isChecked: Boolean = true,
val name: String,
val status: Boolean = false
) : DeviceDef {
fun myGet(mContext: Context) : this { //Error hint: Type expected
return WiFiHelper(mContext).getWiFi()
}
}
class WiFiHelper(val mContext: Context) {
fun getWiFi(): WiFiDef {
..
return WiFiDef(isChecked =aIsChecked, name= name, status = isEnabled)
}
}
答案 0 :(得分:2)
this
不是类型,它指的是您所在类的当前实例。一个方法无法返回类似this
的类型不能使用x
,其中x
是变量。
相反,正如@Angel Koh已经在评论中指出的那样,你应该让你的方法具有与你在其中返回的表达式类型匹配的返回类型,在这种情况下是{{1因为那是WiFiDef
方法返回的内容:
getWiFi