0

我有一个正在开发的应用程序,它应该通过一个 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 的东西,就像 return 和其他类似的方法一样。我知道基础知识,如果我不会,我会很高兴需要更复杂的技术。如果我必须使用更复杂的技术 - 请深入解释它们,因为我不知道。

4

2 回答 2

1

设置好后,您需要执行以下操作:

Settings mySettings = Settings.LoadSettings();

这将运行您的静态LoadSettings方法并返回一个Settings对象。

于 2013-03-21T19:23:13.293 回答
0

正如马特已经写的那样

Settings mySettings = Settings.LoadSettings();

将完成这项工作。

如果您有一个应用程序,您也可以使用它的设置。您可以通过 Properties.Settings.Default 获得该设置,并且在您的项目设置中您可以定义一些属性。

于 2013-03-21T19:43:24.283 回答