Реконструкция объектов с помощью BinaryFormatter

Реконструкция объектов с помощью BinaryFormatter

Теперь предположим, что вы хотите прочитать сохранённые данные JamesBondCar из двоичного файла назад в объектную переменную. Программно открыв CarData.dat (с помощью метода OpenRead()), вызовите метод Deserialize() объекта BinaryFormatter. Метод Deserialize() возвращает общий тип System.Object, поэтому вам придется выполнить явное преобразование, как показано ниже.

static void Main(string[] args) {

 …

 // Чтение JamesBondCar из двоичного файла.

 fStream = File.OpenRead("CarData.dat");

 JamesBondCar carFromDisk = (JamesBondCar)binFormat.Deserialize(fStream);

 Console.WriteLine("Может ли машина летать?: {0}", carFromDisk.canFly);

 fStream.Close();

 Console.ReadLine();

}

Обратите внимание на то, что при вызове Deserialize() методу передается производный от Stream тип, указывающий место хранения объектного графа (в данном случае это файловый поток). Так что проще уже некуда. По сути, сначала нужно обозначить атрибутом [Serializable] все классы, предназначенные для сохранения в потоке. После этого нужно использовать тип BinaryFormatter, чтобы передать объектный граф в двоичный поток и извлечь его оттуда. Вы можете увидеть двоичный образ, представляющий экземпляр JamesBondCar (рис. 17.2).

Рис. 17.2. Сериализация JamesBondCar с помощью BinaryFormatter

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

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

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

Выделение объектов с помощью фильтров

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Выделение объектов с помощью фильтров Одним из способов выделения является применение фильтров. Используя команду FILTER или команду Quick Select (Быстрый выбор) из меню кнопки Utilities (Утилиты) на вкладке Home (Основная) ленты, вы можете отфильтровать наборы выделения по свойствам


Извлечение данных из объектов рисунка с помощью специального мастера

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

Извлечение данных из объектов рисунка с помощью специального мастера Рассмотрим порядок работы с мастером извлечения данных.1. Запустите команду вставки таблицы в рисунок (допустим, что рисунок содержит некоторые объекты, атрибуты которых вы хотели бы внести в эту


Сериализация объектов с помощью BinaryFormatter

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

Сериализация объектов с помощью BinaryFormatter Чтобы показать, как сохранить экземпляр JamesBondCar в физическом файле, давайте используем тип BinaryFormatter. Подчеркнем снова, что двумя ключевыми методами типа BinaryFormatter являются Serialize() и Deserialize().• Serialize(). Сохраняет объектный граф в


Сериализация объектов с помощью SoapFormatter

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Сериализация объектов с помощью SoapFormatter Следующим вариантом является тип SoapFormatter. Тип SoapFormatter сохраняет объектный граф в сообщении SOAP (Simple Object Access Protocol – простой протокол доступа к объектам), что делает этот вариант форматирования прекрасным выбором при передаче


Сериализация объектов с помощью XmlSerializer

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

Сериализация объектов с помощью XmlSerializer Вдобавок к SOAP и двоичному формату, компоновочный блок System.Xml.dll предлагает третий формат, обеспечиваемый типом System.Xml.Serialization. XmlSerializer который может использоваться для сохранения состояния данного объекта в виде "чистого" XML в


Хостинг удаленных объектов с помощью сервиса Windows

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Хостинг удаленных объектов с помощью сервиса Windows Возможно, идеальным хостом для удаленных объектов является сервис Windows, поскольку сервис Windows позволяет следующее.• Может загружаться автоматически при запуске системы• Может запускаться, как "невидимый" процесс в


Хостинг удаленных объектов с помощью IIS

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Хостинг удаленных объектов с помощью IIS Хостинг удаленного компоновочного блока с помощью сервера IIS (Internet Information Server – информационный сервер Интернет) даже проще, чем создание сервиса Windows, поскольку сервер IIS специально запрограммирован на то, чтобы получать


Получение множества наборов результатов с помощью объектов чтения данных

Из книги VBA для чайников автора Каммингс Стив

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


Изменение содержимого таблиц с помощью объектов команд

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

Изменение содержимого таблиц с помощью объектов команд Вы только что убедились, что метод ExecuteReader() извлекает объект чтения данных, позволяющий проверить результаты выполнения SQL-оператора Select в однонаправленном и доступном только для чтения потоке. Но если вы хотите


Отмена деформаций, или инструмент Реконструкция

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

Отмена деформаций, или инструмент Реконструкция Отменить сделанные изменения в картинке можно нажав сочетание клавиш Ctrl+Z или нажав кнопку Отмена в окне Пластика. В последнем случае, помимо того что деформации будут отменены, будет еще и закрыто окно Пластика.Однако


Манипулирование данными с помощью объектов

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

Манипулирование данными с помощью объектов После создания таблиц можно приступить к манипуляциям с данными: вводить данные в таблицы, извлекать их из таблиц, проверять и изменять структуру таблиц. Для манипулирования структурой таблиц используются команды определения


Выделение объектов с помощью фильтров

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

Выделение объектов с помощью фильтров Одним из способов выделения является применение фильтров. Используя команду filter или кнопку Quick Select (Быстрый выбор) из группы Utilities (Утилиты) на вкладке Home (Основная) ленты, вы можете отфильтровать наборы выделения по свойствам


Извлечение данных из объектов с помощью специального мастера

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

Извлечение данных из объектов с помощью специального мастера Рассмотрим порядок работы с мастером извлечения данных.1. Запустите команду вставки таблицы (допустим, что документ содержит некоторые объекты, атрибуты которых вы хотели бы внести в эту таблицу (рис. 4.54)).


Глава 10 Разработка СОМ-объектов с помощью языков сценариев 

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

Глава 10 Разработка СОМ-объектов с помощью языков сценариев  Во всех сценариях WSH, которые мы рассматривали ранее, создавались экземпляры внешних СОМ-объектов, являющихся серверами автоматизации, после чего мы не задумываясь использовали свойства и методы этих объектов.


10.2.4. Обеспечение устойчивости объектов с помощью библиотеки PStore

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

10.2.4. Обеспечение устойчивости объектов с помощью библиотеки PStore Библиотека PStore реализует хранение объектов Ruby в файле. Объект класса PStore может содержать несколько иерархий объектов Ruby. У каждой иерархии есть корень, идентифицируемый ключом. Иерархии считываются с диска


Управление наборами данных с помощью объектов Collection

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

Управление наборами данных с помощью объектов Collection Если нужно работать с наборами элементов информации, создайте для этой информации объект Collection (Коллекция). Как уже говорилось в главе 12, в VBA родовой класс Collection предназначен для хранения практически всего, что только