1

私が取り組んでいるゲーム用のいくつかの C# ツールを作成しており、「最近のファイル->」ドロップダウン メニューを追加しています。

問題は、VS2008 で C# の「設定」ページを取得して、型指定された HashSet を追加できないことです。それを行うオプションはありません。

私はすべてハッキングされ、「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.Designer.cs ファイルと共有される部分クラスである Settings.cs というファイルを自動的に作成します。このファイルは、思いのままに編集できます。

ただし、Settings.settings ファイル内の XML エントリはトーストされる可能性があります。念のため、それらの別のコピーを保持します。

于 2009-05-06T21:56:27.160 に答える
0

これを行う「正しい」方法についてはわかりませんが、コードを部分的な Settings.cs クラス ファイルに安全に移動でき、Visual Studio によって上書きされることを心配する必要はありません。

于 2009-05-06T21:58:52.660 に答える