Настройка параметров сериализации с помощью атрибутов

Настройка параметров сериализации с помощью атрибутов

Хотя реализация интерфейса ISerializable в .NET 2.0 все еще допустима, для настройки процесса сериализации теперь более предпочтительным считается определение методов, наделенных одним из целого ряда новых атрибутов, связанных с задачами сериализации (это атрибуты [OnSerializing], [OnSerialized], [OnDeserializing] и [OnDeserialized]). Использование этих атрибутов оказывается менее громоздким, чем реализация ISerializable, поскольку тогда не возникает необходимости вручную взаимодействовать с поступающим параметром SerializationInfo. Вместо этого вы получаете возможность непосредственно изменять данные состояния во время воздействия форматтера на тип.

При использовании этих атрибутов методы должны определяться так, чтобы они получали параметр StreamingContext и не возвращали ничего (в противном случае в среде выполнения генерируется соответствующее исключение). Обратите внимание на то, что не требуется учитывать все указанные атрибуты сериализации – можно учесть только те стадии сериализации, для которых следует выполнить перехват. Для примера рассмотрите новый тип [Serializable] с теми же требованиями, что и у MyStringData, но на этот раз с использованием атрибутов [OnSerializing] и [OnDeserialized].

[Serializable]

class MoreData {

 public string dataItemOne, dataItemTwo;

 [OnSerializing]

 internal void OnSerializing(StreamingContext context) {

  // Выполняется в процессе сериализации.

  dataItemOne = dataItemOne.ToUpper();

  dataItemTwo = dataItemTwo.ToUpper();

 }

 [OnDeserialized]

 internal void OnDeserialized(StreamingContext, context) {

  // Выполняется по завершении реконструкции объекта.

  dataItemOne = dataItemOne.ToLower();

  dataItemTwo = dataItemTwo.ToLower();

 }

}

Если выполнись сериализацию этого нового типа, вы снова обнаружите, что данные сохраняются в верхнем регистре, а воcстанавливаются – в нижнем.

Исходный код. Проект СustomSerialization размещен в подкаталоге, соответствующем главе 17.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Настройка параметров ICQ

Из книги Мир общения: ICQ автора Леонтьев Виталий Петрович

Настройка параметров ICQ Щелкнув по кнопке ICQ Menu в левом нижнем углу окна и выбрав пункт Preferences, вы получите доступ к настройкам программы. Установка параметров ICQ – меню PreferencesУспокою вас – настраивать придется не слишком долго. Главное – не забудьте настроить вкладку Check


ГЛАВА 12. Отображение типов, динамическое связывание и программирование с помощью атрибутов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

ГЛАВА 12. Отображение типов, динамическое связывание и программирование с помощью атрибутов Как показано в предыдущей главе, компоновочные блоки являются базовыми элементами установки и среде .NET. С помощью интегрированного обозревателя объектов в Visual Studio 2005 можно


Программирование с помощью атрибутов

Из книги ArchiCAD 11 автора Днепров Александр Г

Программирование с помощью атрибутов Как сказано в начале этой главы, одной из задач компилятора .NET является генерирование метаданных для всех определяемых типов и для типов, на которые имеются ссылки. Кроме этих стандартных метаданных, содержащихся в каждом


Настройка процесса сериализации

Из книги Office 2007. Мультимедийный курс автора Мединов Олег

Настройка процесса сериализации В большинстве случаев типовая схема сериализации, предлагаемая платформой .NET, будет именно тем, что требуется. Тогда нужно просто применить атрибут [Serializable] и передать объектный граф выбранному средству форматирования. Но в некоторых


Настройка параметров сериализации с помощью ISerializable

Из книги Windows Vista автора Вавилов Сергей

Настройка параметров сериализации с помощью ISerializable Объекты, обозначаемые атрибутом [Serializable], имеют возможность реализовать интерфейс ISerializable. В этом случае вы можете "участвовать" в процессе сериализации, выполняя любое предварительное или последующее форматирование


Настройка параметров двери

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Настройка параметров двери Если щелкнуть на кнопке Settings Dialog (Окно настроек) то на экране откроется окно настройки параметров двери по умолчанию (рис. 5.5). Рис. 5.5. Окно настроек двериБеглый взгляд на многообразие элементов управления поначалу может напугать, но попробуйте


Настройка параметров

Из книги ArchiCAD. Начали! автора Орлов Андрей Александрович

Настройка параметров Для перехода в режим настройки параметров программы выполните команду главного меню Сервис ? Параметры. Открывшееся окно состоит из нескольких вкладок, на которых находятся однотипные, сходные по назначению и функциональности параметры настройки


Настройка параметров монитора

Из книги OrCAD PSpice. Анализ электрических цепей автора Кеоун Дж.

Настройка параметров монитора Окно, которое открывается при переходе по последней ссылке Параметры дисплея в окне Персонализация (рис. 2.14, слева), содержит настройки, отвечающие за важнейшие характеристики монитора. От них зависит качество изображения и здоровье ваших


Настройка системных параметров

Из книги 1С: Бухгалтерия 8.2. Понятный самоучитель для начинающих автора Гладкий Алексей Анатольевич

Настройка системных параметров Для настройки системных параметров AutoCAD используется вкладка System диалогового окна Options – рис. 3.8.• В области 3D Perfomance определяется производительность трехмерной графики. Кнопка Perfomance Settings загружает диалоговое окно Adaptive Degradation and Peromance Tuning,


Настройка параметров этажей

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

Настройка параметров этажей При разработке проектов в среде ArchiCAD пользователь работает с этажом. Под этажом понимается пространство, ограниченное определенной высотой, в котором размещаются строительные элементы, детали конструкций, объекты интерьера и т. п. ArchiCAD


Анализ с помощью h -параметров

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

Анализ с помощью h-параметров Схема на рис. 10.13 рассматривается относительно переменных составляющих. Узел источника VCC заземляется (при этом R1 подсоединяется параллельно R2), конденсатор С1 закорачивается. Преобразованная таким образом схема показана на рис. 10.17, а при


Настройка параметров

Из книги Установка, настройка и восстановление Windows 7 на 100% автора Ватаманюк Александр Иванович


Оптимизация оболочки с помощью параметров реестра

Из книги Социальные сети. ВКонтакте, Facebook и другие… автора Леонтьев Виталий Петрович

Оптимизация оболочки с помощью параметров реестра Рассмотрим также несколько параметров реестра, влияющих на оптимизацию оболочки, но не имеющих способа изменения с помощью стандартных диалогов Windows.? MenuShowDelay — данный параметр строкового типа уже был рассмотрен ранее


1.8. Группирование компактных параметров с помощью UISegmentedControl

Из книги автора

1.8. Группирование компактных параметров с помощью UISegmentedControl Постановка задачи Требуется предложить пользователям на выбор несколько параметров, из которых они могут выбирать. Пользовательский интерфейс должен оставаться компактным, простым и легким для


14.3. Настройка параметров

Из книги автора

14.3. Настройка параметров Программа Защитник Windows имеет достаточно много параметров, с помощью которых можно настраивать, в частности, ее реакцию на те или иные события. Например, с помощью параметров можно задать плановое сканирование компьютера.Чтобы получить доступ к


Настройка параметров QIP

Из книги автора

Настройка параметров QIP xxx: да блин, я как только аську открою, тут же завалят новостями xxx: как раньше без нее жили? yyy: 21-й век yyy: раньше голубей отсылали yyy: открываешь дома окно – и фигак – все окно засрано и куча новостей yyy: ну, то есть тоже самое, только не так оперативно Ну