public static void Serialize(string path) { Person p = new Person(); p.Miscellaneous.Add(DateTime.Now, "Hello"); p.Miscellaneous.Add(DateTime.Now.AddSeconds(1), "World"); IDInformation w = new IDInformation(); w.ID = "1111 00000"; p.Miscellaneous.Add(DateTime.Now.AddSeconds(2), w); DataContractSerializer ser = new DataContractSerializer(typeof(Person)); FileStream fs = new FileStream(path, FileMode.Create); using (fs) { ser.WriteObject(fs, p); } }
public static void Deserialize(string path) { DataContractSerializer ser = new DataContractSerializer(typeof(Person)); FileStream fs = new FileStream(path, FileMode.Open); using (fs) { Person p2 = (Person)ser.ReadObject(fs); Console.WriteLine("Count {0}", p2.Miscellaneous.Count); foreach (DictionaryEntry de in p2.Miscellaneous) { Console.WriteLine("Key {0} Value: {1}", de.Key, de.Value); if (de.Value.GetType() == typeof(IDInformation)) { IDInformation www = (IDInformation)de.Value; Console.WriteLine( "\t Found ID Information. ID: {0} \n", www.ID); } } } }