1

我正在为我正在开发的游戏创建一些 C# 工具,并且我正在添加“最近的文件->”下拉菜单。

问题是,我无法在 VS2008 中获得 C# 的“设置”页面来允许我添加类型化的 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?

4

2 回答 2

4

不要这样做。VS 将核对 Settings.Designer.cs 中的任何代码。

相反,从 VS 打开设置编辑器(这将显示 Settings.settings 和 Settings.Designer.cs 文件的设计编辑器)。

然后,按 F7 以获取代码视图。VS 将自动创建一个名为 Settings.cs 的文件,该文件是与 Settings.Designer.cs 文件共享的部分类。您可以根据自己的喜好编辑此文件。

但是,您在 Settings.settings 文件中的 XML 条目可能会被烘烤。我会保留一份单独的副本以防万一。

于 2009-05-06T21:56:27.160 回答
0

不确定执行此操作的“正确”方法,但您可以安全地将代码移动到部分 Settings.cs 类文件,而不必担心 Visual Studio 会覆盖它们。

于 2009-05-06T21:58:52.660 回答