public static ApplicationSettings LoadData() { ApplicationSettings settings = null; DataSaverAttribute attribute = GetAttribute(); if (attribute != null) { try { string fileName = null; switch (attribute.TypeSerializer) { case SerializerType.Binary: fileName = String.Format("{0}.{1}", attribute.FileName, "dat"); using (Stream readStream = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { IFormatter serializer = new BinaryFormatter(); settings = (ApplicationSettings)serializer.Deserialize(readStream); } break; default: fileName = String.Format("{0}.{1}", attribute.FileName, "xml"); using (Stream readStream = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { XmlSerializer serializer = new XmlSerializer(typeof(ApplicationSettings)); settings = (ApplicationSettings)serializer.Deserialize(readStream); } break; } } catch { MessageBox.Show("Failure: The data reading operation is not completed."); } } else { MessageBox.Show("Failure: The data reading option is not implemented."); } return(settings); }
public static void SaveData(ApplicationSettings settings) { DataSaverAttribute attribute = GetAttribute(); if (attribute != null && settings != null) { try { string fileName = null; switch (attribute.TypeSerializer) { case SerializerType.Binary: fileName = String.Format("{0}.{1}", attribute.FileName, "dat"); using (Stream writeStream = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { IFormatter serializer = new BinaryFormatter(); serializer.Serialize(writeStream, settings); } break; default: fileName = String.Format("{0}.{1}", attribute.FileName, "xml"); using (Stream writeStream = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { XmlSerializer serializer = new XmlSerializer(typeof(ApplicationSettings)); serializer.Serialize(writeStream, settings); } break; } MessageBox.Show("The data saving operation is successfully completed."); } catch { MessageBox.Show("Failure: The data saving operation is not completed."); } } else { MessageBox.Show("Failure: The data saving option is not implemented."); } }
private static DataSaverAttribute GetAttribute() { DataSaverAttribute attribute = (DataSaverAttribute)Attribute.GetCustomAttribute(typeof(DataSaver), typeof(DataSaverAttribute)); return(attribute); }