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;

由于它已经是一个抽象类,它可以将派生类作为参数,然后引用派生类的静态属性 .