typescript 为何不能定义抽象静态成员方法,只能定义抽象成员方法?

不能定义

interface IDevice {
    static myFun():void;
}

抽象类也不行

abstract class ADevice {
    abstract static myFun():void;
}

有什么其他的方法用来定义静态成员方法

阅读 2.3k
1 个回答

可以通过装饰器可以check 来达到你的目的

interface MyType {
  instanceMethod(): void;
}

interface MyTypeStatic {
  new (): MyType;
  myFun(): void;
}

function staticImplements<T>() {
  return <U extends T>(constructor: U) => {
    constructor;
  };
}

@staticImplements<MyTypeStatic>()
class MyTypeClass {
  public static myFun() {}
  instanceMethod() {}
}
logo
Microsoft
子站问答
访问
宣传栏