Вы можете использовать атрибут serializable вместе с классом «settings». Для небольшого количества информации это действительно ваш лучший выбор, так как он прост в реализации. Например:
[Serializable]
public class MySettings
{
public const string Extension = ".testInfo";
[XmlElement]
public string GUID { get; set; }
[XmlElement]
public bool TurnedOn { get; set; }
[XmlElement]
public DateTime StartTime { get; set; }
public void Save(string filePath)
{
XmlSerializer serializer = new XmlSerializer(typeof(MySettings));
TextWriter textWriter = new StreamWriter(filePath);
serializer.Serialize(textWriter, this);
textWriter.Close();
}
public static MySettings Load(string filePath)
{
XmlSerializer serializer = new XmlSerializer(typeof(MySettings));
TextReader reader = new StreamReader(filePath);
MySettings data = (MySettings)serializer.Deserialize(reader);
reader.Close();
return data;
}
}
Вот, пожалуйста. Вы можете сильно сократить и вставить это прямо в ваш код. Просто добавьте свойства по мере необходимости, и не забывайте атрибут [XMLElement] в ваших интересных свойствах.
Еще одним преимуществом этого дизайна является то, что вам не нужно возиться с громоздкими подходами Application.Settings, и вы можете изменять свои файлы вручную, если вам нужно.