0

事前に入力されたデータを使用してマッピング オブジェクトを構築しようとしており、それを行うための最良の方法を見つけようとしています。

私はこのようなことを達成しようとしています。

public static class CodeNameMapping
    {
        private static Dictionary<string, string> _mapping = new Dictionary<string, string>();
        static CodeNameMapping()
        {
            _mapping.Add(Constants.CODE_FS, PageNames.FB_PAGE);
            _mapping.Add(Constants.CODE_MA,PageNames.MA_PAGE);
        }

        public static string GetPageNameFor(string code)
        {
            return _mapping[code];
        }
    }

これはこれを達成するための良い方法ですか?または、これを行うための他のより良いパターンはありますか?(工場を考えることができますか???)

4

1 に答える 1

0

次のように Dictionary に静的初期化子を使用できます。

public static class CodeNameMapping
{
    private static Dictionary<string, string> _mapping = new Dictionary<string, string>{
        {Constants.CODE_FS, PageNames.FB_PAGE},
        {Constants.CODE_MA, PageNames.MA_PAGE}
    };

    public static string GetPageNameFor(string code)
    {
        return _mapping[code];
    }

}

また、GetPageNameFor 内で、最初にキーが存在することを確認する必要がある場合があります。

于 2013-08-28T21:14:19.850 に答える