0
我想有一个类型的,我可以用这样的:你可以创建一个包含属性的类型绑定吗?
class Something[T](...) {
}
其中T是具有类型用户的属性的类。我想这会很难,因为我需要知道产权的名称?
这可能吗?
更新
我试过此基础上@ pamu的回答
trait GenericMessage {
def user: User
}
sealed trait UserMessage extends GenericMessage
case class LoginMessage(id: Int, user: User) extends UserMessage
case class User(id: Int)
class UserWorker[UserMessage](name: String) extends Worker[UserMessage](name) {
}
class Worker[T <: GenericMessage](name: String) {
val tasks = scala.collection.mutable.Queue.empty[T]
}
我收到错误:
type arguments [UserMessage] do not conform to class Worker's type parameter bounds [T <: GenericMessage]
[error] class UserWorker[UserMessage](name: String) extends Worker[UserMessage](name) {
这'类UserWorker [UserMessage](的亚型...'创建一个名为UserMessage的类型参数,该类型参数会影响具有相同名称的类的存在。只需使用'class UserWorker(...'并编译。 – jwvh