louis vuitton bag moncler jacka ugg boots mbt sko louis vuitton oslo moncler ugg www.steklo1.ru
   Поиск
 

Изучаем C Sharp (C#)

Программирование на C Sharp (C#) с нуля

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

Сериализация

Для того, чтобы класс стал сериализуемым, достаточно объявить его с атрибутом Serializable. Например, вот так:



namespace Serial
{
    [Serializable()]
    class Worker
    {
        public int age;
        public int yoe;
    }
}



После этого экземпляр класса можно, например, целиком сохранять в файл и читать из файла (именно экземпляр класса целиком, а не поля класса по отдельности). Вот пример такого использования сериализуемого класса:



using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace Serial
{
    class Program
    {
        static void Main(string[] args)
        {
            // Задаем экземпляр класса.
            Worker w = new Worker();
            w.age = 22;
            w.yoe = 2;

            // Сериализуем класс.
            FileStream fs = new FileStream("1.txt", FileMode.Create, FileAccess.Write);
            IFormatter bf = new BinaryFormatter();
            bf.Serialize(fs, w);
            fs.Close();

            // Десериализуем класс.
            fs = new FileStream("1.txt", FileMode.Open, FileAccess.Read);
            Worker w1 = (Worker)bf.Deserialize(fs);
            Console.WriteLine("age: " + w1.age + ", yoe: " + w1.yoe);
            fs.Close();
        }
    }
}




Вполне естественно, что приведенный пример выведет на экран "age: 22, yoe: 2".

Предыдущая стр.    Оглавление    Следующая стр.
Средняя оценка: (2,33 - 3 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии

Комментирует Walker 13.09.2011 12:01:47
Без объяснений, без ничего - просто кусок примера вырванный из середины книги.



Практический обучающий видео-курс "Основы C#"

От профессионального
разработчика для начинающих
и опытных программистов!

Кликните, чтобы изучить
язык C# с нуля и научиться
писать программы под платформу .NET!