【发布时间】:2018-04-20 11:22:23
【问题描述】:
我有以下类层次结构:
sealed class SubscriptionServiceResponse<T>
data class UserRecognized<T>(val recognizedUser: RecognizedUser, val response: T) : SubscriptionServiceResponse<T>()
data class UserNotRecognized<T>(val ignored: Boolean = true) : SubscriptionServiceResponse<T>()
但是,我更喜欢 UserNotRecognized 而不是 object - 类似于:
object UserNotRecognized : SubscriptionServiceResponse()
(ignored 参数就在那里,因为我无法在没有任何参数的情况下创建数据类。
有没有办法将object 定义为泛型sealed class 的子类型?
【问题讨论】:
-
您遇到了什么问题?你的例子对我来说似乎很好
-
UserNotRecognized是object的版本无法编译 - 正如我所说,在这种情况下,我真的不需要任何 content,@ 987654330@ 只是为了满足编译器... -
对象的泛型类型对逻辑是否重要?还是
Any输入够了? -
是的,对于
UserRecognized的情况,它很重要——我想要UserRecognized<SubscriptionStatus>、UserRecognized<PurchaseOptions>等。 -
好吧,也许我弄错了,但是您的 UserNotRecognized 的类型并不是很重要,因为您没有将其视为有用的数据。
标签: kotlin