我发现了类似于我需要的东西:
http://www.codeproject.com/KB/cs/PropertiesSettings.aspx
但它并不适合我。用户设置存储在一些远离的位置,例如C:\documents and settings\[username]\local settings\application data\[your application]
,但我无法访问这些文件夹,我无法将设置文件从一台计算机复制到另一台计算机,或者完全删除该文件。此外,在应用程序旁边设置xml文件并复制/发送两者都非常方便。这用于演示软件(这是一种合法的编码任务类型),将由该领域的非技术人员使用。我需要快速完成这个,所以我需要重用一些现有的库而不是自己编写。我需要使它易于使用和便携。我想要的最后一件事是在午夜接到一个电话,说明当我通过我将建立的设置对话框进行编辑时,设置不会持续存在。
因此,用户设置存储上帝知道在哪里,应用程序设置是只读的(没有去)。还有什么我可以做的吗?我认为app.config文件有多个用途,我想我曾经看到它按照我想要的方式使用,我只是找不到链接。
如果不清楚,请告诉我。
答案 0 :(得分:5)
您可以创建一个包含您的设置的类,然后对其进行XML序列化:
public class Settings
{
public string Setting1 { get; set; }
public int Setting2 { get; set; }
}
static void SaveSettings(Settings settings)
{
var serializer = new XmlSerializer(typeof(Settings));
using (var stream = File.OpenWrite(SettingsFilePath))
{
serializer.Serialize(stream, settings);
}
}
static Settings LoadSettings()
{
if (!File.Exists(SettingsFilePath))
return new Settings();
var serializer = new XmlSerializer(typeof(Settings));
using (var stream = File.OpenRead(SettingsFilePath))
{
return (Settings)serializer.Deserialize(stream);
}
}