使用HashSet< T>在C#Properties.Settings中
-
06-07-2019 - |
题
我正在为我正在制作的游戏创建一些C#工具,并且我正在添加“最近的文件 - >”下拉菜单。
问题是,我无法获得C#的“设置”。 VS2008中的页面允许我添加一个类型化的HashSet。没有选择。
我得到了所有的hackalicious并手动编辑了“Settings.Designer.cs”。提交到:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public global::System.Collections.Generic.HashSet<String> RecentLibs {
get {
return ((global::System.Collections.Generic.HashSet<String>)(this["RecentLibs"]));
}
set {
this["RecentLibs"] = value;
}
}
这似乎工作得很好。但是,我知道在某些时候它会用代码生成器来修改这些更改。
这样做的正确方法是什么? C#是否有一些我应该用于此功能的内置类型而不仅仅是一个简单的HashSet?
解决方案
不要这样做。 VS将在Settings.Designer.cs中修改任何代码。
而是从VS打开设置编辑器(这将显示Settings.settings和Settings.Designer.cs文件的设计编辑器)。
然后,按F7键以获取代码视图。 VS将自动创建名为Settings.cs的文件,这是与Settings.Designer.cs文件共享的部分类。您可以根据自己的内容编辑此文件。
然而,Settings.settings文件中的XML条目可能会被烘烤。为了以防万一,我会单独保留这些副本。
其他提示
不确定是否采用'正确'方法,但您可以安全地将代码移动到部分Settings.cs类文件中,而无需担心Visual Studio会覆盖它们。
不隶属于 StackOverflow