我想这样做:
createClass(c:class):SomeInstance {
return new class() as SomeInstance;
}
然而,它表示'类型预期'我在哪里指定:class部分。
答案 0 :(得分:5)
修正:
function createClass<SomeInstance>(c:{new():SomeInstance}):SomeInstance {
return new c();
}
你基本上是说createClass
接受一个构造函数(用new调用的东西给出一个实例)因此c:{new():SomeInstance}
。然后createClass
的返回类型是SomeInstance
PS:可能称之为
createInstance