Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET.


Уроки по C#. Рассылки сайта progs.biz
Выпуск № 92
 
Начало > C# > Основы > Урок 63

С. С. Байдачный .NET Framework 2.0. Секреты создания Windows-приложений.
С. С. Байдачный. .NET Framework 2.0. Секреты создания Windows-приложений
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 63.

Основы C#
Урок 63. Сериализация класса

Для того, чтобы класс стал сериализуемым, достаточно объявить его с атрибутом 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".

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2006 сайт progs.biz
© 2002-2006 Игорь Алексеев

В избранное