Управление сериализацией и десериализацией с помощью SerializationBinder
При сериализации модуль форматирования передает сведения, необходимые для создания экземпляра объекта правильных типа и версии. Эти сведения обычно содержат полное имя типа и имя сборки объекта. По умолчанию с помощью этих сведений операция десериализации создает экземпляр такого же объекта. Некоторым пользователям может понадобиться возможность выбирать классы для сериализации и десериализации, поскольку исходный класс может отсутствовать на компьютере, где выполняется десериализация, быть перемещенным в другую сборку либо на сервере и клиенте могут требоваться разные версии класса. Дополнительные сведения см. в разделе Использование средства привязки сериализации.
Внимание! |
---|
Эта функция доступна только при использовании BinaryFormatter или NetDataContractSerializer. |
Использование класса SerializationBinder
Класс SerializationBinder является абстрактным классом, который используется для управления фактическими типами, применяемыми при сериализации и десериализации. Чтобы управлять типами, используемыми при сериализации и десериализации, нужно создать класс, производный от класса SerializationBinder, и переопределить методы BindToName и BindToType. Метод BindToName принимает объект Type и возвращает имя типа и сборки. Метод BindToType принимает имя сборки и типа и возвращает объект Type.
См. также
Задачи
Использование средства привязки сериализации