|
Язык программирования С# 2005 и платформа .NET 2.0.Таким образом, чтобы сохранить набор объектов, просто добавьте этот набор в контейнер (например, в ArrayList или List) и выполните сериализацию полученного объекта в подходящий поток. Предположим, что в класс JamesBondCar был добавлен конструктор с двумя аргументами, чтобы можно было установить некоторые начальные данные состояния (обратите внимание на то, что конструктор, заданный по умолчанию, был возвращен на место в соответствии с требованиями XmlSerializer), [Serializable, XmlRoot(Namespace ="public class JamesBondCar: Car { Ppublic JamesBondCar(bool skyWorthy, bool seaWorthy) { P canFly = skyWorthy; canSubmerge = seaWorthy; P} P// Для XmlSerializer нужен конструктор, заданный по умолчанию! Ppublic JamesBondCar(){} P } При этом вы сможете сохранить любое число объектов JamesBondCar так. static void Main(string[] args) { P P// Сохранение объекта List с набором JamesBondCar. PListJamesBondCar myCars = new ListJamesBondCar(); PmyCars.Add(new JamesBondCar(true, true)); PmyCars.Add(new JamesBondCar(true, false)); PmyCars.Add(new JamesBondCar(false, true)); PmyCars.Add(new JamesBondCar(false, false)); PfStream = new FileStream("CarCollection.xml", FileMode.Create, FileAccess.Write, FileShare.None); PxmlFormat = new XmlSerializer(typeof(ListJamesBondCar), new Type[] {typeof(JamesBondCar), typeof(Car), typeof(Radio)}); PxmlFormat.Serialize(fStream, myCars); PfStream.Close(); PConsole.ReadLine(); } Снова обращаем внимание на то, что по причине использования XmlSerializer требуется указать информацию типа для каждого из объектов, вложенных в корневой объект (которым в данном случае является List) ...» | Код для вставки книги в блог HTML
phpBB
текст
|
|