我有一个我正在处理的应用程序,它应该通过XML文件(名为Settings.txt
)保存和加载设置
现在,这是我使用的代码:
public class Settings
{
public bool Selected_64Bit { get; set; }
public bool Supported_64Bit { get; set; }
public bool FirstTime { get; set; }
}
static void SaveSettings(Settings settings)
{
var serializer = new XmlSerializer(typeof(Settings));
using (var stream = File.OpenWrite("settings.txt"))
{
serializer.Serialize(stream, settings);
}
}
static Settings LoadSettings()
{
if (!File.Exists("settings.txt"))
return new Settings();
var serializer = new XmlSerializer(typeof(Settings));
using (var stream = File.OpenRead("settings.txt"))
{
return (Settings)serializer.Deserialize(stream);
}
}
现在,我需要将设置加载到新的Settings()
中。
我发现这样做:
Settings [VAR] = new Settings()
将使用所有Settings()
创建一个新的false
,但我想加载已保存的设置。
我很困惑,无法向自己解释......
最终产品应该:
settings.txt
是否存在Settings
的新Setting
(在我的情况下)。我希望有人理解并能帮助我。 顺便说一句 - 我在C#中并不是那么优秀,而且我没有得到get \ set thingy,就像返回和其他方法一样..我知道基础知识,如果我不知道我会很高兴需要更复杂的技术。 如果我必须使用更复杂的技术 - 请深入解释,因为我不知道。
答案 0 :(得分:1)
正如你设置的那样,你需要这样做:
Settings mySettings = Settings.LoadSettings();
这将运行您的静态LoadSettings
方法并返回Settings
对象。
答案 1 :(得分:0)
正如马特已写的那样
Settings mySettings = Settings.LoadSettings();
将完成这项工作。
如果您有应用程序,也可以使用其设置。您可以通过Properties.Settings.Default获取该设置,并在项目设置中定义一些属性。