【发布时间】:2017-07-27 10:43:04
【问题描述】:
我正在努力定义一种方法来正确获取基类的子类。
handle(content: AbstractClass)
直接用继承的类调用它会导致“ConcreteClass”类型的参数不可分配给“AbstractClass”类型的参数。
我用一个接口尝试过,类似的结果“typeof ConcreteClass”类型的参数不可分配给“接口”类型的参数
class AbstractClass implements Interface
handle(content: Interface)
我发现了一个类似topic 的问题,但该解决方案也对我没有帮助。
interface ClassConstructor<T extends AbstractClass> {
new(): T;
}
abstract class AbstractClass {
private test: string;
constructor(value: string) {}
}
class B extends AbstractClass {
private test2: string;
constructor(value: string, value2: number) {
super(modal);
}
}
class S1 {
show(content: ClassConstructor<AbstractClass>) {}
b() {
this.a(B);
}
}
我想实现 show 方法可以采用 AbstractClass 的每个实现,而不管它是如何定义的 f.e.不同的构造函数和类似的。
我将它与 Angular 结合使用,Angular 通过构造函数解决依赖关系。
我如何使用 TypeScript 做到这一点?
【问题讨论】:
标签: typescript inheritance typescript2.0