Почему .NET позволяет применять атрибут SerializableAttribute к перечислениям? - PullRequest
32 голосов
/ 08 февраля 2012

У меня есть класс и одно свойство enum.Примерно так:

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

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

Когда я сериализую Person с BinaryFormatter, нужно ли мне [Serializable] при уменьшении перечисления?Без него он работает нормально, но тогда почему он разрешает атрибут [Serializable] в объявлении перечисления?

1 Ответ

24 голосов
/ 09 февраля 2012

.NET знает, как автоматически сериализовать все простые встроенные типы, поэтому вам не нужно указывать его.

Я думаю, что если бы .NET не разрешил атрибут serializable для элементов, которые сериализуемы, это было бы более запутанным. Тот факт, что вы можете решить добавить или оставить его, зависит от вкуса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...