abstract class MyClass() {
protected static foo: Array<number>;
protected static doWorkOnFoo(): void {
let x: number = 0;
for (let f of | what goes here? this? self?|.foo) {
x = x + foo;
}
}
}
实现抽象类,并希望派生类具有静态属性和对这些属性进行操作的静态方法时,如何访问抽象类中的那些,以便派生类可以只使用该方法?
我知道这可以通过在静态属性上设置默认值并使用this
来解决,但这引起了我的兴趣,我很想知道是否有某种方式从TS中的抽象类访问泛型派生类或其他东西。
提前致谢!
编辑:
虽然我无法找到我想要的内容(请参阅注释),但可行的解决方案是将doWorkOnFoo()
方法的签名更改为以下内容:
protected static doWorkOnFoo(): (typeof MyClass) => void;
由于它已经是一个抽象类,它可以将派生类作为参数,然后引用派生类的静态属性。