У меня есть запечатанный класс, который содержит несколько классов данных, как показано ниже.Есть ли способ узнать, с каким классом (D1, D2, D3) я работаю в T1.printclassname ()?
sealed class A {
data class D1 { }
data class D2 { }
data class D3 { }
}
class T1 {
fun <E : A> printclassname(val c: E) {
}
}
И попробовать то же самое с внутренними классами
internal class B {
inner class X1 { }
inner class X2 { }
inner class X3 { }
}
class T2 {
fun <E : B> printclassname(val c: E) {
if (c is B.X1){
// some op.
}
}
}
Printclassname () должен принимать любой объект D1, D2, D3.и printclassname1 должен принимать любой объект X1, X2, X3