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

本文关键字:应用于 枚举 SerializableAttribute 允许 NET 为什么 | 更新日期: 2023-09-27 18:23:43

我有一个类,其中一个属性是enum。类似这样的东西:

    //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]属性?

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

.NET知道如何自动序列化所有简单的内置类型,所以这就是为什么不需要指定它

我认为,如果.NET不允许可序列化项的可序列化属性,那将更加令人困惑。事实上,你可以决定是否添加它,这取决于你的口味。