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
子站问答
访问
宣传栏