Реконструкция объектов с помощью 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
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 10 Разработка СОМ-объектов с помощью языков сценариев
Глава 10 Разработка СОМ-объектов с помощью языков сценариев Во всех сценариях WSH, которые мы рассматривали ранее, создавались экземпляры внешних СОМ-объектов, являющихся серверами автоматизации, после чего мы не задумываясь использовали свойства и методы этих объектов.
Отмена деформаций, или инструмент Реконструкция
Отмена деформаций, или инструмент Реконструкция Отменить сделанные изменения в картинке можно нажав сочетание клавиш Ctrl+Z или нажав кнопку Отмена в окне Пластика. В последнем случае, помимо того что деформации будут отменены, будет еще и закрыто окно Пластика.Однако
Манипулирование данными с помощью объектов
Манипулирование данными с помощью объектов После создания таблиц можно приступить к манипуляциям с данными: вводить данные в таблицы, извлекать их из таблиц, проверять и изменять структуру таблиц. Для манипулирования структурой таблиц используются команды определения
Управление наборами данных с помощью объектов Collection
Управление наборами данных с помощью объектов Collection Если нужно работать с наборами элементов информации, создайте для этой информации объект Collection (Коллекция). Как уже говорилось в главе 12, в VBA родовой класс Collection предназначен для хранения практически всего, что только
Выделение объектов с помощью фильтров
Выделение объектов с помощью фильтров Одним из способов выделения является применение фильтров. Используя команду filter или кнопку Quick Select (Быстрый выбор) из группы Utilities (Утилиты) на вкладке Home (Основная) ленты, вы можете отфильтровать наборы выделения по свойствам
Извлечение данных из объектов с помощью специального мастера
Извлечение данных из объектов с помощью специального мастера Рассмотрим порядок работы с мастером извлечения данных.1. Запустите команду вставки таблицы (допустим, что документ содержит некоторые объекты, атрибуты которых вы хотели бы внести в эту таблицу (рис. 4.54)).
10.2.4. Обеспечение устойчивости объектов с помощью библиотеки PStore
10.2.4. Обеспечение устойчивости объектов с помощью библиотеки PStore Библиотека PStore реализует хранение объектов Ruby в файле. Объект класса PStore может содержать несколько иерархий объектов Ruby. У каждой иерархии есть корень, идентифицируемый ключом. Иерархии считываются с диска
Сериализация объектов с помощью BinaryFormatter
Сериализация объектов с помощью BinaryFormatter Чтобы показать, как сохранить экземпляр JamesBondCar в физическом файле, давайте используем тип BinaryFormatter. Подчеркнем снова, что двумя ключевыми методами типа BinaryFormatter являются Serialize() и Deserialize().• Serialize(). Сохраняет объектный граф в
Сериализация объектов с помощью SoapFormatter
Сериализация объектов с помощью SoapFormatter Следующим вариантом является тип SoapFormatter. Тип SoapFormatter сохраняет объектный граф в сообщении SOAP (Simple Object Access Protocol – простой протокол доступа к объектам), что делает этот вариант форматирования прекрасным выбором при передаче
Сериализация объектов с помощью XmlSerializer
Сериализация объектов с помощью XmlSerializer Вдобавок к SOAP и двоичному формату, компоновочный блок System.Xml.dll предлагает третий формат, обеспечиваемый типом System.Xml.Serialization. XmlSerializer который может использоваться для сохранения состояния данного объекта в виде "чистого" XML в
Хостинг удаленных объектов с помощью сервиса Windows
Хостинг удаленных объектов с помощью сервиса Windows Возможно, идеальным хостом для удаленных объектов является сервис Windows, поскольку сервис Windows позволяет следующее.• Может загружаться автоматически при запуске системы• Может запускаться, как "невидимый" процесс в
Хостинг удаленных объектов с помощью IIS
Хостинг удаленных объектов с помощью IIS Хостинг удаленного компоновочного блока с помощью сервера IIS (Internet Information Server – информационный сервер Интернет) даже проще, чем создание сервиса Windows, поскольку сервер IIS специально запрограммирован на то, чтобы получать
Получение множества наборов результатов с помощью объектов чтения данных
Получение множества наборов результатов с помощью объектов чтения данных Объекты чтения данных могут получать от одного объекта команды множество наборов результатов. Например, чтобы получить все строки таблицы Inventory и все строки таблицы Customers, можно указать оба
Изменение содержимого таблиц с помощью объектов команд
Изменение содержимого таблиц с помощью объектов команд Вы только что убедились, что метод ExecuteReader() извлекает объект чтения данных, позволяющий проверить результаты выполнения SQL-оператора Select в однонаправленном и доступном только для чтения потоке. Но если вы хотите
Выделение объектов с помощью фильтров
Выделение объектов с помощью фильтров Одним из способов выделения является применение фильтров. Используя команду FILTER или команду Quick Select (Быстрый выбор) из меню кнопки Utilities (Утилиты) на вкладке Home (Основная) ленты, вы можете отфильтровать наборы выделения по свойствам
Извлечение данных из объектов рисунка с помощью специального мастера
Извлечение данных из объектов рисунка с помощью специального мастера Рассмотрим порядок работы с мастером извлечения данных.1. Запустите команду вставки таблицы в рисунок (допустим, что рисунок содержит некоторые объекты, атрибуты которых вы хотели бы внести в эту