设置文件中的任意数据类型

本文关键字:任意 数据类型 文件 设置 | 更新日期: 2023-09-27 18:15:26

设置中列出了一些默认的数据类型。当你选择"浏览"时,你可以从树中添加更多的内容。

我实际上需要在我的设置文件中存储一个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[]一样添加后续的基本设置,如字符串/int/等:直接将其编码到设置中。设计文件。

一定有更好的方法来做这件事吗?

既然Settings类已经是局部的,那么创建一个新文件(比如CustomSettings)是不是更好的解决方案,它继续类定义并包括这些模糊的类型?

设置文件中的任意数据类型

Settings.Designer.cs是自动生成的。是的,你可以利用这个类是局部的这一事实,并在另一个具有相同类定义的文件中定义你自己的设置。