0

Settings.settings 文件中有一些默认列出的数据类型,然后您可以在选择“浏览”时从树中添加更多数据类型。

我实际上需要int[]在我的设置文件中存储一个,并这样做:

[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public int[] SPLTimings
{
    get
    {
        return ((int[])(this["SPLTimings"]));
    }
    set
    {
        this["SPLTimings"] = value;
    }
}

并在程序第一次运行时:

int[] timings = Settings.SPLTimings ?? new int[] { 25, 100, 80, 50, 125, 50 };

后来被保存到磁盘。和Settings.Save()

这工作得很好,但有一个小问题。如果我想使用设置 GUI 界面添加一个简单的数据类型,那么我的自定义添加将被删除,我必须再次添加它们。我目前只有这种特殊情况,所以如果它被删除,添加它并不是什么大问题。另一方面,我可以像添加int[]: 直接将其编码到 Settings.Designer 文件中一样添加后续基本设置,如字符串/整数/等。

必须有更好的方法来做到这一点?

由于Settings该类已经是部分的,因此创建一个新文件(例如 CustomSettings)是否是一个更好的解决方案,该文件将继续类定义并包含这些晦涩的类型?

4

1 回答 1

1

Settings.Designer.cs是自动生成的。所以是的,您可以使用这个类是部分的这一事实,并在具有相同类定义的另一个文件中定义您自己的设置。这样设置不会被覆盖。

于 2011-11-23T12:45:15.923 回答