Основы программирования на C#


Класс с атрибутом сериализации - часть 4


На рис. 19.6 показаны результаты исполнения сказки.

Сказка о рыбаке и рыбке

Рис. 19.6.  Сказка о рыбаке и рыбке

Что изменится, если перейти к сохранению данных в xml-формате? немногое. Нужно лишь заменить объявление форматера:

void SaveStateXML() { SoapFormatter sf = new SoapFormatter(); FileStream fs = new FileStream ("State.xml",FileMode.Create, FileAccess.Write); sf.Serialize(fs,this); fs.Close(); } void BackStateXML(ref Personage fisher) { SoapFormatter sf = new SoapFormatter(); FileStream fs = new FileStream ("State.xml",FileMode.Open, FileAccess.Read); fisher = (Personage)sf.Deserialize(fs); fs.Close(); }

Клиент, работающий с объектами класса, этих изменений и не почувствует. Результаты вычислений останутся теми же, что и в предыдущем случае. Правда, файл, сохраняющий данные, теперь выглядит совсем по-другому. Это обычный xml-документ, который мог быть создан в любом из приложений. Вот как выглядит этот документ, открытый в браузере Internet Explorer.

XML-документ, сохраняющий состояние объектов

Рис. 19.7.  XML-документ, сохраняющий состояние объектов




Начало  Назад  Вперед