为什么.NET允许SerializableAttribute应用于枚举?

时间:2012-02-08 15:41:25

标签: c# serialization enums

我有一个类,一个属性是枚举。像这样:

    //Do i need [Serializable]    
    public enum SexEnum
    {
         Male,
         Female
    }

    [Serializable]
    public class Person
    {
         string Name {get;set;}
         SexEnum Sex {get;set;} 
    }

当我使用Person序列化BinaryFormatter时,我是否需要{enum deleration [Serializable]? 它没有它工作正常,但为什么它允许enum decleration中的[Serializable]属性?

1 个答案:

答案 0 :(得分:23)

.NET知道如何自动序列化所有简单的内置类型,这就是你不需要指定它的原因。

我认为如果.NET不允许可序列化项目的serializable属性,那将更加令人困惑。您可以决定添加或遗漏它的事实是一个品味问题。