一般的なコードを書き込もうとしましたが、Type of 'PROPERTY' is not a subtype of the overridden property
エラーを取り除くことはできません。Kotlin:サブタイプ内の汎用プロパティをオーバーライド
私のコードの簡易版:
abstract class BaseP<V> {
var view: V? = null
}
abstract class BaseF {
fun smth() {
pp.view = this
}
abstract val pp: BaseP<BaseF>
}
abstract class SubF: BaseF() {
abstract override val pp: BaseP<SubF>
// Error:(20, 30) Type of 'pp' is not a subtype of the overridden property 'public abstract val pp: BaseP<BaseF> defined in BaseF'
}
私はそのエラーが@Suppress
-edすることができますが、私はそれが最善かつ唯一の方法である疑いが分かりました。何か良いことがありますか?
私は理解できませんが、なぜsubtypeA<subtypeB>
はbaseA<baseB>
のサブタイプとしてカウントされません、誰かがこれを説明することができますか?
どの行がエラーをスローしますか? – voddan