Я хочу сделать POCO [Serializable], но не любые другие члены класса в его дереве иерархии классов. Я знаю, что есть [NonSerialized], который работает только для полей, но есть ли способ исключить их или выбрать определенных членов, используя [Serializable] в POCO?Сериализация POCO Исключая членов класса
ответ
Вы должны посмотреть на DataContractSerializer
; он использует подход «opt-in» для сериализации.
Также было бы полезно прочитать XmlSerializer vs DataContractSerializer: Serialization in Wcf для сравнения и сравнения между DataContractSerializer
и XmlSerializer
.
XmlSerializer был в .Net , начиная с версии 1.0, и служил нам хорошо для всего от Remoting, Web Services , сериализации в файл и т.д. Однако в .NET 3.0 DataContractSerializer пришел , И неожиданно большое руководство предлагает использовать его поверх старого проверенного XmlSerializer. Wcf даже использует это как механизм по умолчанию для . Вопрос : «Это действительно лучше?». Приговор - да, и нет. Как и большинство вещей, это зависит от вашей реализации и что вам нужно. Для Wcf вы должны использовать DataContractSerializer. Если вам нужен полный контроль над тем, как выглядит xml , вы должны вернуться к XmlSerializer.
- 1. Entity Framework POCO Сериализация
- 2. Сериализация объектов POCO
- 3. Сериализация POCO прокси с WCF
- 4. Сериализация класса POCO, полученного из базового слоя с помощью DataContract?
- 5. Сериализация/десериализация производного класса
- 6. Сериализация POCO в простой массив байт
- 7. Cast интерфейс не исключая членов формы
- 8. Сериализация класса внутри класса
- 9. Неоткрытые требования класса POCO
- 10. Avro (Microsoft) Отсутствует сериализация членов производного типа
- 11. членов класса изменять значение
- 12. Сжать набивочные членов класса
- 13. указателей производных членов класса
- 14. Инициализация членов класса Python
- 15. Правильное определение членов класса
- 16. Инициализация списка членов класса
- 17. Возврат части членов класса
- 18. Удаление всех членов класса
- 19. экстракт() для членов класса
- 20. Как обрезать членов класса?
- 21. класса Членов над экспортом
- 22. Как отобразить членов класса
- 23. Видимость членов класса?
- 24. Порядок статических членов класса
- 25. Расчет членов класса
- 26. Использование членов класса
- 27. членов C# класса выпуск
- 28. Инициализация членов класса
- 29. XML Сериализация анонимного класса
- 30. Сериализация ссылочного класса Объект
Хороший ответ (я удалил мой) - просто добавить (для OP): если вы хотите жесткую двоичную сериализацию, вы можете рассмотреть protobuf-net. –
@Marc - protobuf-net - тоже хороший выбор, и он стоит собственного ответа. Если вы отмените свой ответ, я продолжу его. –