Управление версиями C # с помощью сериализации DataContract

#datacontractserializer

#datacontractserializer

Вопрос:

Я использую сериализацию DataContract для сохранения моего sceneario, созданного в приложении C #. Я сохраняю несколько классов во время сериализации. Я хочу знать, что если класс изменится в будущем и в сохраненном файле будет отсутствующее поле или дополнительное поле, возможно ли сообщить пользователю, что «Поле 1 отсутствует» или «В сохраненном файле есть дополнительное поле».

Я знаю, что сериализатор datacontract может десериализоваться в подобных ситуациях, но я хочу знать, какие поля отсутствуют или являются дополнительными.

Или я должен использовать другой механизм сохранения, чтобы обеспечить это? (Какой-то шаблон, или мне следует написать пользовательский сериализатор?)