【发布时间】:2011-03-17 12:00:31
【问题描述】:
我正在尝试使用此方法创建特征的实例
val inst = new Object with MyTrait
这很好用,但我想将此创建移到生成器函数中,即。
object Creator {
def create[T] : T = new Object with T
}
我显然需要清单以某种方式解决类型擦除问题,但在此之前,我遇到了 2 个问题:
即使有一个隐式清单,Scala 仍然要求 T 是一个特征。如何在 create[T] 中添加限制以使 T 成为特征?
如果我选择使用 Class.newInstance 方法动态创建实例而不是使用“new”,我将如何在“new Object with T”中指定“with”?是否可以在运行时动态创建新的具体 mixin 类型?
【问题讨论】:
标签: scala new-operator instance traits