我有一个类,一个属性是枚举。像这样:
//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]
属性?
答案 0 :(得分:23)
.NET知道如何自动序列化所有简单的内置类型,这就是你不需要指定它的原因。
我认为如果.NET不允许可序列化项目的serializable属性,那将更加令人困惑。您可以决定添加或遗漏它的事实是一个品味问题。