跟小D每日学口语

C# 扩展方法

扩展方法

C# code
///<summary>/// 根据字符串返回对应枚举类型
        ///</summary>///<typeparam name="T">对应枚举类型</typeparam>///<param name="source">字符串</param>///<returns></returns>publicstatic T GetEnumByValue<T>(thisstring source)
        {
            if (typeof(T).BaseType ==typeof(Enum))
            {
                foreach (T value in Enum.GetValues(typeof(T)))
                {
                    if (source == value.ToString())
                    {
                        return value;
                    }
                }
            }
            else
            {
                thrownew ArgumentException("T必须为枚举类型");
            }

            returndefault(T);
        }
//调用publicenum Color
    {
        black,
        red,
        blue
    }
    Color obj ="blue".GetEnumByValue<Color>();
posted @ 2012-08-20 10:45  Danny Chen  阅读(209)  评论(0编辑  收藏  举报