Я новичок в protobuf-net и задаюсь вопросом, есть ли возможность влиять на то, какие объекты сериализуются, если у меня есть граф объектов и вы хотите сериализовать только его части , Я думаю о каком-то обратном вызове или тому подобном.protobuf-net: callback для определения того, какие объекты сериализуются
1
A
ответ
1
Два стандартных (используемый другими системами) шаблоны поддерживаются для условного сериализации - если мы имеем:
public Foo SomeProperty {get;set}
Тогда либо из:
public bool ShouldSerializeSomeProperty() {...}
Или:
public bool SomePropertySpecified {
get {...}
set {...}
}
Должен работать нормально. Верно true для сериализации, false для игнорирования. В зависимости от вашей целевой структуры она также может быть непубличной, если это необходимо.
Смежные вопросы
- 1. Выберите, какие атрибуты сериализуются
- 2. Какие объекты сериализуются и почему? Когда я буду использовать это?
- 3. Как выбрать, какие данные сериализуются в PHP?
- 4. Почему объекты превращаются в строки, когда сериализуются другие несвязанные объекты?
- 5. Используйте python для определения того, какие элементы находятся в
- 6. Определение того, какие объекты ZwWaitForMultipleObjects ждет на
- 7. Какие инструменты доступны для определения того, какие сборки .NET изменились со времени последней сборки?
- 8. Как сообщить JAXB, какие поля сериализуются во время выполнения?
- 9. Способы определения того, какие пользователи социальной сети посещают?
- 10. Решение о том, какие свойства сериализуются во время выполнения
- 11. Способ определения того, какие кнопки должны быть освобождены
- 12. Алгоритм определения того, какие слова делают фразу популярной
- 13. Какие операторы сравнения необходимы для определения или неявного определения?
- 14. Понимание того, какие объекты могут быть словарными клавишами
- 15. Как определить методы CallBack и Raises для того же определения метода SetOp класса Moq?
- 16. Определение того, какие объекты попадают в прямоугольник выделения (marquee)
- 17. Какие пространства имен Clojure использует для определения
- 18. S3 putObject callback не возвращает ожидаемые объекты
- 19. Как называются объекты для определения данных?
- 20. Почему страницы калитки сериализуются?
- 21. Функция для определения того, какие строки в кадре данных превышают «Среднее» для столбца
- 22. Ресурсы для определения того, как широко внедряются JSR для J2ME
- 23. Какие данные для BCryptGetFipsAlgorithmMode используются для определения статуса FIP?
- 24. Какие уведомления выдают объекты?
- 25. алгоритм для определения того, что он делает
- 26. Идея для определения того, какой узел удалить
- 27. Использование NHibernate для определения того, какие поля были обновлены (для целей проверки) до того, как они останутся
- 28. Какие объекты подходят для Add-Member?
- 29. Какие объекты для фальсификации при выполнении TDD
- 30. Зная, какие объекты для кластераExport заранее
Означает ли это, что класс, объявляющий свойство SomeProperty, также должен объявлять ShouldSerializeSomeProperty() или SomePropertySpecified, соответственно? – Ralf
@ Верно, что это уже установленный ранее существующий (pre-dating protobuf-net) шаблон, который в настоящее время поддерживается. Обратите внимание, что через 'RuntimeTypeModel' вы можете установить методы как * любые * методы экземпляра/аксессоры на объекте (без форсирования какого-либо конкретного соглашения), но да: они должны быть объявлены типу, которому принадлежат данные. Конечно, если это неудобно, вы можете использовать суррогат сериализации * - protobuf-net поддерживает обмен между 2 связанными представлениями во время сериализации, если некоторые типы в модели менее удобны для сериализации, чем остальные –