子类

时间:2017-08-03 20:23:02

标签: typescript generics constraints typescript2.0

使用Typescript 2.3.4。

我正在尝试对方法参数设置泛型约束,如:public static FromFactType<T extends FactCore>() :TFactCore是一个基类,有三个直接后代:FactEvent, FactDuration, FactPlain。每个直接后代都有15-20个独立的孩子,增加了新的属性。例如,FactEvent有一个孩子FactBirth,因此FactBirth会间接从FactCore继承。

但是,当我尝试将FactBirth的实例传递给我的方法时,我收到一个错误:类型BirthFact无法转换为类型'T'。我能够安抚Typescript编译器的唯一方法是在约束中明确列出BirthFact。我已经尝试将中级类(FactEvent,FactDuration和FactPlain)添加到constaint中,没有运气 - 同样的错误。

我是否真的需要在约束中明确列出所有60多个底层类?

感谢。

0 个答案:

没有答案