typescript - 有没有办法在类上放置静态枚举?

标签 typescript

我目前正在编写一个类,我想将其与枚举器捆绑在一起。

示例代码:

class MyClass {
    static enum MyType {
        State1, State2, State3
    };
}

这样,当我有一些方法 foo 时,我可以将其定义如下:

function CreateMyClass(type: MyClass.MyType) {
   ...
}

也许我的语法不正确(或者我可能以错误的方式处理这个问题)?这是否可能,或者是否有解决方法,以便我不必为静态变量创建接口(interface)来接受方法参数中的枚举类型?

最佳答案

您无法在类中定义枚举,但可以将其添加到其他位置并在类中使用它。

enum MyType {
    State1, State2, State3
};

class MyClass {
    constructor(private type: MyType) {

    }
}

var myInstance = new MyClass(MyType.State2);

关于typescript - 有没有办法在类上放置静态枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21561166/

相关文章:

reactjs - Rollup ESM 生成损坏的导入

rest - typescript 没有正确推断剩余参数

typescript - 函数应该返回 Promise<string>,显然返回 Promise<unknown> 但仍然可以编译

typescript - 尝试将多个 keyof 分配给 Typescript 中的动态描述对象

javascript - visual studio 代码 intellisense 不适用于 dojo amd 代码

node.js - 从 Cloud Functions Realtime Database 中的子引用获取父 Node 的原始值 "val()"数据

javascript - 如何根据 typescript 中的键对对象数组进行排序

typescript - AWS Javascript SDK v3 - Typescript 由于错误 TS2304 : Cannot find name 'ReadableStream' 而无法编译

javascript - Node/JS 在导入时创建新实例

typescript - 如何从属于另一个控制组的控制组获取控制权