예제 #1
0
        /* Burada binary olarak objeleri serilize etmeye yaran örnek methodlar vardır.
         *
         * Binary dosya yerine XML dosyasına serileştirme için kullanılabilecek örnek bir kod aşağıdadır. Ancak XML serileştirmenin bazı limitleri vardır. Öncelikle
         * sınıfınızın parametresiz bir oluşturcu metoda ihtiyaçı olacaktır. Ayrıca serileştirilmesini istediğiniz tüm özelliklerin ya public erişimi olmalı veya public erişimli
         * get ve set metodları olmalıdır.
         * XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject));
         * var subReq = new MyObject();
         * var xml = "";
         *
         * using(var sww = new StringWriter())
         * {
         *  using(XmlWriter writer = XmlWriter.Create(sww))
         *  {
         *      xsSubmit.Serialize(writer, subReq);
         *      xml = sww.ToString(); // Your XML
         *  }
         * }
         */
        static void Main(string[] args)
        {
            University deu = null;

            try
            {
                // Deserilizasyon burada yapılacak.
                Deserialize(deu);
                //Console.WriteLine("geldim");
                string name = "deu";
                deu = new University(name);
                deu.AddStudent(new BSc("Ahmet", "Mehmet", 1));
                deu.AddStudent(new MSc("Ali", "Veli", 2));
                deu.AddStudent(new PhD("Ali", "Mehmet", 3));
                Serialize(deu);
            }
            catch (Exception e)
            {
                Console.WriteLine("Failed to dize. Reason: " + e.Message);
            }
            finally
            {
                if (deu != null)
                {
                    foreach (Student a in deu.Students)
                    {
                        Console.WriteLine(a.ToString());
                    }
                    //Serilizasyon burada yapılacak
                    Console.WriteLine("\n----");
                }
            }

            try
            {
                Student s = deu.SearchStudent(3);
                Console.WriteLine(s.ToString());
                s = deu.SearchStudent(4);
                Console.WriteLine(s.ToString());
            }
            catch (StudentNotFound e)
            {
                Console.WriteLine(e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Failed to find student. Reason: " + e.Message);
            }
            try
            {
                Student s = deu.SearchStudent("Ali");
                Console.WriteLine(s.ToString());
                s = deu.SearchStudent("Hasan");
                Console.WriteLine(s.ToString());
            }
            catch (StudentNotFound e)
            {
                Console.WriteLine(e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Failed to find student. Reason: " + e.Message);
            }
        }