那么,有很多方法可以做到这一点。对于一种简单的方法,您可以使用XML序列化。首先创建一个代表所有要保存设置一个类,Serializable属性添加到它,比如:
[Serializable]
public class AppSettings
{
public List<UserApp> Applications { get; set; }
}
[Serializable]
public class UserApp
{
public string Path { get; set; }
public string Name { get; set; }
}
接着,下面的方法添加到它:
public static void Save(AppSettings settings)
{
string xmlText = string.Empty;
var xs = new XmlSerializer(settings.GetType());
using (var xml = new StringWriter())
{
xs.Serialize(xml, settings);
xml.Flush();
xmlText = xml.ToString();
}
string roamingPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
File.WriteAllText(roamingPath + @"\settings.xml", xmlText);
}
public static AppSettings Load()
{
string roamingPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
if (!File.Exists(roamingPath + @"\settings.xml"))
return new AppSettings();
string xmlText = File.ReadAllText(roamingPath + @"\settings.xml");
var xs = new XmlSerializer(typeof(AppSettings));
return (AppSettings)xs.Deserialize(new StringReader(xmlText));
}
然后,保存,这样做:
AppSettings settings = new AppSettings();
settings.Applications = new List<UserApp>();
settings.Applications.Add(new UserApp { Path = @"C:\bla\foo.exe", Name = "foo" });
AppSettings.Save(settings);
并加载:
AppSettings settings = AppSettings.Load();
您也可以编辑加载的设置并再次保存,覆盖旧的设置。
如需更多更复杂的方法,请保存到数据库中。
为了保持简单,我只需将一些JSON或XML文本文件写入运行该应用程序的计算机的驱动器即可。 – MAlvarez