【问题标题】:Why does .NET allow the SerializableAttribute to be applied to enumerations?为什么 .NET 允许将 SerializableAttribute 应用于枚举?
【发布时间】:2012-03-01 01:51:46
【问题描述】:

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

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

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

当我用BinaryFormatter 序列化Person 时,在枚举声明时是否需要[Serializable]? 没有它它可以正常工作,但为什么它允许在枚举声明中使用 [Serializable] 属性?

【问题讨论】:

  • 是否要序列化值?它只是一个整数...
  • 我想序列化这个值,不管我有没有 [Serializable] 属性,它都会被序列化。问题是为什么 .NET 允许枚举的可序列化属性

标签: c# serialization enums


【解决方案1】:

.NET 知道如何自动序列化所有简单的内置类型,因此您无需指定它。

我认为,如果 .NET 不允许可序列化项目的可序列化属性,那会更加混乱。您可以决定添加或不使用它,这取决于您的喜好。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-05
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
相关资源
最近更新 更多