我在TypeScript中有一个接口或抽象类,我有一大堆实现/扩展接口/类的类,我想从所有子类的构造函数中创建一个数组,但我想要数组类型为接口/超类。这可能吗?
所以,如果我有:
export interface Section {
somePropName: string;
}
或:
export class AbstractSection {
somePropName: string;
}
然后我有:
arrayOfClasses: any[] = [
SectionSubclass1,
SectionSubclass2,
SectionSubclass3,
SectionSubclass4,
SectionSubclass5,
];
我可以将arrayOfClasses
输入any[]
以外的任何其他内容吗?我想尽可能具体。我知道在ActionScript中你至少可以Vector.<Class>
,而在Haxe中你可以Array<Class>
,但在TypeScript中你甚至不能输入Class
,AFAIK。
答案 0 :(得分:3)
如果你想存储课程:
cumsum(x > 30) + 1
#[1] 1 1 1 2 2 2 2 3 4 4 4 4
如果要存储类的实例或接口的实现:
arrayOfClasses: Array<typeof AbstractSection> = [...];