/* 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. deu = Deserialize(); } catch (Exception e) { 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)); } finally { if (deu != null) { foreach (Student a in deu.Students) { Console.WriteLine(a.ToString()); SerializeXML(a, a.Name + ".xml"); } //Serilizasyon burada yapılacak Console.WriteLine(); } } NoyaGoreArama(deu); // exceptionları nerede çalıştıracağımı anlamadım. XML olarak nesneleri yazdırıyor. // exception constructor'larını oluşturdum Console.ReadKey(); }
static void IsmeGoreArama(University deu) { try { Student s = deu.SearchStudent("Ali"); Console.WriteLine(s.ToString()); s = deu.SearchStudent("Hasan"); Console.WriteLine(s.ToString()); if (s == null) { throw new StudentNotFound(s.Name); } } catch (StudentNotFound e) { Console.WriteLine(e.Message); } catch (Exception e) { } }
static void NoyaGoreArama(University deu) { try { //Student s = deu.SearchStudent(3); //Console.WriteLine(s.ToString()); Student s = deu.SearchStudent(4); Console.WriteLine("varmi ? " + s.ToString()); if (s == null) { Console.WriteLine("yok"); throw new StudentNotFound(s.No); } } catch (StudentNotFound e) { Console.WriteLine(e.Message); } catch (Exception e) { } }
/* 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. deu = Deserialize(); } catch (Exception e) { 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)); } finally { if (deu != null) { foreach (Student a in deu.Students) { Console.WriteLine(a.ToString()); } //Serilizasyon burada yapılacak Serialize(deu); Console.WriteLine(); } } 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) { } 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.ReadKey(); }
/* 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 { FileStream fs = new FileStream("kansu.xml", FileMode.Open); XmlSerializer serializer = new XmlSerializer(typeof(University)); deu = (University)serializer.Deserialize(fs); fs.Close(); // Deserilizasyon burada yapılacak. } catch (Exception e) { 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)); } finally { if (deu != null) { deu.AddStudent(new PhD("Aydilge", "Mehmet", 4)); foreach (Student a in deu.Students) { Console.WriteLine(a.ToString()); } //Serilizasyon burada yapılacak FileStream fs = new FileStream("kansu.xml", FileMode.Create); XmlSerializer serializer = new XmlSerializer(typeof(University)); serializer.Serialize(fs, deu); fs.Close(); Console.WriteLine(); } } 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) { } 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.ReadLine(); }
static void MainSerialize(University deu) { try { using (FileStream fs = new FileStream("university.xml", FileMode.Create)) { try { XmlSerializer xs = new XmlSerializer(typeof(Student)); List <Student> liste = (List <Student>)xs.Deserialize(fs); fs.Close(); } catch (SerializationException e) { Console.WriteLine("Failed to deserialize. Reason: " + e.Message); throw; } } } catch (Exception e) { 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)); } finally { if (deu != null) { foreach (Student a in deu.Students) { Console.WriteLine(a.ToString()); } using (FileStream fs = new FileStream("university.xml", FileMode.Create)) { try { XmlSerializer xs = new XmlSerializer(typeof(Student)); xs.Serialize(fs, deu); } catch (SerializationException e) { Console.WriteLine("Failed to serialize. Reason: " + e.Message); throw; } } Console.WriteLine(); } } 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) { } 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) { } }