Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置文件中的任意数据类型_C#_Settings.settings - Fatal编程技术网

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

C# 设置文件中的任意数据类型,c#,settings.settings,C#,Settings.settings,Settings.Settings文件中有一些默认列出的数据类型,当您选择“浏览”时,您可以从树中添加更多数据类型 我实际上需要在我的设置文件中存储一个int[],并且是这样做的: [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSe

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文件中一样,添加后续的基本设置,如strings/ints/etc

一定有更好的办法吗


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

Settings.Designer.cs
是自动生成的。因此,是的,您可以使用这个类是分部的事实,并使用相同的类定义定义您自己的设置。 这样,设置将不会被覆盖