.Net Serialization - PullRequest
       5

.Net Serialization

2 голосов
/ 02 ноября 2010

Не является OnDeserialized избыточным с IDeserializationCallback.OnDeserialization

1 Ответ

4 голосов
/ 02 ноября 2010

Если вы прочитаете документацию по атрибуту OnDeserialized и интерфейсу IDeserializationCallback , вы увидите, что этот интерфейс был впервые реализован в .NET 1.0, а атрибут был добавлен в.NET 2.0 вместе с рядом дополнительных связанных атрибутов, которые обеспечивают более детальный контроль процесса сериализации / десериализации.

Из раздела замечаний OnDeserializedAttribute:

Этот атрибут можетиспользовать вместо интерфейса IDeserializationCallback.

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

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