.NET Enum - 修饰EnumValue以用作默认值

时间:2017-05-24 13:16:44

标签: c# .net enums datacontractserializer

让我们说对于维护和DataContract序列化我需要将默认值0添加到不存在的现有枚举中。

public enum ExistingEnum { Value1 = 1, Value2 = 2, Value3 = 3 }

变为:

public enum ExistingEnum { None = 0, Value1 = 1, Value2 = 2, Value3 = 3 }

依赖于将Value1作为默认值的所有属性现在都会导致一系列问题和相关的异常。 是否有一种方法,如属性,将Value1再次强加为默认值? 类似于:

public enum ExistingEnum
{
    None = 0,
    [Default] Value1 = 1,
    Value2 = 2,
    Value3 = 3
 }

提前致谢

2 个答案:

答案 0 :(得分:3)

我应该停止在StackOverflow上询问事情。每次我试着保持简单易懂,似乎没有人读到这个问题。 我问过一个简单的问题,这是我在过去45分钟内找不到的MSDN页面回答的,但我现在发现: System.ComponentModel.DefaultValueAttribute

如果我的枚举从0到3,并且在实例化该枚举类型的变量时需要将1作为默认值,我需要使用此属性类。

[DefaultValue(typeof(ExistingEnum),"Value1 ")]
public enum ExistingEnum
{
    None = 0,
    Value1 = 1,
    Value2 = 2,
    Value3 = 3
}

非常感谢所有花时间回答这个愚蠢问题的人

答案 1 :(得分:-1)

试试这个

The content of 'dispositionList' is invalid.  Element 'sequence' is invalid, misplaced, or occurs too often.