我有許多C#枚舉,其中一些標記已啓用。例如:JavaScript中的枚舉和JSON標記
[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)和得到d esired結果(「item1,item2」)。
除了刪除字符串轉換器,是否有任何適當的方式來實現這種DataContract + JS API的旗幟enum在JavaScript中?
不妨使用[] .toString(),在你的自定義方法中額外的空間對我們來說沒有什麼作用...... – dandavis
@dandavis:當然,你可以,但我寧願要比這更明確。而原來的空間。 –