我的代码:
class Model {}
class Loader {
static load<M extends Model>(ModelClass: typeof Model): M {
return new ModelClass();
}
}
错误消息:Type 'Model' is not assignable to type 'M'.
链接到游乐场:goo.gl/qrSsoX
答案 0 :(得分:1)
我们应该说load
将类作为参数而不是实例。
export interface Type<T> extends Function { new (...args: any[]): T; }
class Model {}
class Loader {
static load<M extends Model>(ModelClass: Type<M>): M {
return new ModelClass();
}
}
有关更多信息,请查看this答案