我有很多 C# 枚举,其中一些启用了标志。例如:
[Flags]
public enum MyEnum
{
item1 = 0x0000,
item2 = 0x0008
}
我将其克隆到 JavaScript 中,如下所示:
my.namespace.MyEnum = {
ITEM1: "item1",
ITEM2: "item2"
}
我正在使用全局 WebApi 转换器将枚举映射到字符串,因为我更喜欢将字符串与 REST API 一起使用:
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new StringEnumConverter());
问题是,如果我创建一个使用此枚举的属性,它就不能使用按位运算(即 my.namespace.MyEnum.ITEM1 | my.namespace.MyEnum.ITEM2)并获得所需的结果(“item1, item2 ”)。
除了删除字符串转换器之外,还有什么合适的方法可以在 JavaScript 中为标志枚举实现这种 DataContract + JS API?