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 回答