Esempio n. 1
0
 public List <Transport> Add(Transport p)
 {
     pozhar.Add(p);
     return(pozhar);
 }
Esempio n. 2
0
 public void IAmPrinting(Transport p)
 {
     Console.WriteLine("Type: " + p.GetType());
     Console.WriteLine(p.ToString());
 }
Esempio n. 3
0
        static void Main(string[] args)
        {
            Transport Calcatinge = new Automobil("Calcatinge", "Moldovanin", 0, 100, 5);
            Transport UAZ        = new Automobil("Nissan", "GTR", 228, 2, 240) as Automobil;    // ссылка на абстрактный класс
            Printer   car        = new Printer();
            Transport BelAZ      = new Automobil("BELAZ", "POTATO", 1488, 13, 70) as Transport; // ссылка на абстрактный класс
            Poezd     Strela     = new Poezd("Strela", "bistraya", 1337, 66, 140);
            Vagon     Dima       = new Vagon("Dima", "СВ", 228, 1337, 1488);

            Transport[] arr = new Transport[5];
            arr[0] = Calcatinge;
            arr[1] = Dima;
            arr[2] = Strela;
            arr[3] = BelAZ;
            arr[4] = UAZ;
            Container q = new Container();

            q.pozhar = new List <Transport>();
            q.Add(Calcatinge);
            q.Add(UAZ);
            q.Add(BelAZ);
            Controller      cont      = new Controller();
            BinaryFormatter formatter = new BinaryFormatter();

            // получаем поток, куда будем записывать сериализованный объект
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, Calcatinge);

                Console.WriteLine("Бинарная сериализация:\nОбъект успешно сериализован");
            }
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                Transport newTransport = (Transport)formatter.Deserialize(fs);

                Console.WriteLine("Бинарная десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed);
            }
            Console.WriteLine("==================================");
            SoapFormatter formatter1 = new SoapFormatter();

            // получаем поток, куда будем записывать сериализованный объект
            using (FileStream fs = new FileStream("people.soap", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, Strela);

                Console.WriteLine("SOAP сериализация:\nОбъект сериализован");
            }

            // десериализация
            using (FileStream fs = new FileStream("people.soap", FileMode.OpenOrCreate))
            {
                Transport newTransport = (Transport)formatter.Deserialize(fs);

                Console.WriteLine("SOAP десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed);
            }
            Console.WriteLine("==================================");
            XmlSerializer formatter2 = new XmlSerializer(typeof(Transport));

            using (FileStream fs = new FileStream("persons.xml", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, Strela);

                Console.WriteLine("XML сериализация:\nОбъект сериализован");
            }

            using (FileStream fs = new FileStream("persons.xml", FileMode.OpenOrCreate))
            {
                Transport newTransport = (Transport)formatter.Deserialize(fs);

                Console.WriteLine("XML десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newTransport.Name, newTransport.Price, newTransport.Oil, newTransport.Speed);
            }
            Console.WriteLine("==================================");
            DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(Automobil));

            using (FileStream fs = new FileStream("people.json", FileMode.OpenOrCreate))
            {
                jsonFormatter.WriteObject(fs, BelAZ);
                Console.WriteLine("JSON сериализация:\nОбъект сериализован");
            }

            using (FileStream fs = new FileStream("people.json", FileMode.OpenOrCreate))
            {
                Automobil newpeople = (Automobil)jsonFormatter.ReadObject(fs);


                Console.WriteLine("JSON десериализация:\nОбъект успешно десериализован");
                Console.WriteLine("Имя: {0}\n" +
                                  "Цена: {1}\n" +
                                  "Pасход топлива: {2}\n" +
                                  "Cкорость: {3}\n", newpeople.Name, newpeople.Price, newpeople.Oil, newpeople.Speed);
            }
            Console.WriteLine("==================================");
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, arr);

                Console.WriteLine("Сериализация массива:\nОбъект успешно сериализован");
            }
            using (FileStream fs = new FileStream("people.dat", FileMode.OpenOrCreate))
            {
                Transport[] newTransport = (Transport[])formatter.Deserialize(fs);

                Console.WriteLine("Десериализация массива:\nОбъект успешно десериализован");
                foreach (Transport p in newTransport)
                {
                    Console.WriteLine("Имя: {0}\n" +
                                      "Цена: {1}\n" +
                                      "Pасход топлива: {2}\n" +
                                      "Cкорость: {3}\n", p.Name, p.Price, p.Oil, p.Speed);
                }
            }
            Console.WriteLine("Залазим в XML-документ:\n");
            XmlDocument xDoc = new XmlDocument();

            xDoc.Load("test.xml");
            XmlElement xRoot = xDoc.DocumentElement;

            // выбор всех дочерних узлов
            XmlNodeList childnodes = xRoot.SelectNodes("*");

            foreach (XmlNode n in childnodes)
            {
                Console.WriteLine(n.OuterXml);
            }

            Console.WriteLine("Link to XML:\n");
            XDocument xdoc = XDocument.Load("info.xml");

            foreach (XElement phoneElement in xdoc.Element("phones").Elements("phone"))
            {
                XAttribute nameAttribute  = phoneElement.Attribute("name");
                XElement   companyElement = phoneElement.Element("company");
                XElement   priceElement   = phoneElement.Element("price");

                if (nameAttribute != null && companyElement != null && priceElement != null)
                {
                    Console.WriteLine("Смартфон: {0}", nameAttribute.Value);
                    Console.WriteLine("Компания: {0}", companyElement.Value);
                    Console.WriteLine("Цена: {0}", priceElement.Value);
                }
                Console.WriteLine();
            }
            Console.Read();
        }