Для того, чтобы класс стал сериализуемым, достаточно объявить его с атрибутом Serializable. Например, вот так:
namespace Serial
{
[Serializable()]
class Worker
{
publicint age;
publicint yoe;
}
}
После этого экземпляр класса можно, например, целиком сохранять в файл и читать из файла (именно экземпляр класса целиком, а не поля класса по отдельности). Вот пример такого использования сериализуемого класса:
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace Serial
{
class Program
{
staticvoid 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".
PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru