【发布时间】:2019-01-22 03:33:13
【问题描述】:
我有一个泛型类图,其中需要包装类型来指定其他类。
interface Data {
id: number,
}
class EntityClass<T extends Data> {
public data;
constructor(data: T) {
this.data = data;
}
}
class Result<T extends Data> {
public data
constructor(data) {
this.data = data;
}
}
现在我同时传递了类型 (EntityClass<any> 和内部类型 (DataClass),尽管它始终与此处的 any 匹配。
function extract<Class extends EntityClass<any>, DataClass extends Data>(
entity: Class
) : Result<DataClass> {}
有没有办法“解开”EntityClass 的内部类型,以避免两者都通过?这是我想做的事情:
function extract<Class extends EntityClass<InternalClass>>(
entity: Class
) : Result<InternalClass> {}
【问题讨论】:
标签: typescript typescript-generics