我正在为我正在制作的游戏创建一些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会覆盖它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top