代码之家  ›  专栏  ›  技术社区  ›  jeff

C#,StringToEnum,我能把它变成一个通用函数吗

c#
  •  4
  • jeff  · 技术社区  · 17 年前

    public static T StringToEnum<T>(String value)
            {
                return (T) Enum.Parse(T,value,true) ;
            }
    
    3 回复  |  直到 17 年前
        1
  •  7
  •   Tamas Czinege    17 年前

    试试这个:

    public static T StringToEnum<T>(String value)
    {
         return (T)Enum.Parse(typeof(T), value, true);
    }
    
        2
  •  2
  •   Ed Swangren    17 年前
    public static T StringToEnum<T>(String value)
    {
        return (T) Enum.Parse(typeof(T),value,true) ;
    }
    

        3
  •  0
  •   David Basarab    17 年前

    下面是我使用的方法扩展。

    /// <summary>
    /// Will parse and string value and return the Enum given.  Case is ignored when doing the parse.
    /// </summary>
    /// <param name="typeOfEnum">The type of the Enum to Parse</param>
    /// <param name="value">The string value for the result of the Enum</param>
    /// <param name="errorValue">If an error is encountered this value is returned.  (For example could be an Enum)</param>
    /// <returns>Returns Enum Object</returns>
    public static T ToEnum<T>(this string value)
    {
        return (T)Enum.Parse(typeof(T), value, true);
    }