如果可能的话,为Enum写一个扩展名

时间:2012-12-31 14:38:28

标签: c#-4.0 extension-methods

  

可能重复:
  Enumeration extension methods

我有一种情况,我希望在我的几个枚举器中添加extension以便快速提取信息。已经编写了一个静态方法来做这个辅助方法,但是想知道是否有可能将它作为扩展名进行缩短?

现在的签名,再次不确定它是否可能。只是推动我的知识门槛和界限;)

public static string EnumString( this Type par , object val ) {
    return Enum.GetName( typeof( par ) , val );
}

1 个答案:

答案 0 :(得分:0)

JordonKaye

描述的结果方法 延期:
/// <summary>
/// Returns the string value of the Enumerator
/// </summary>
/// <param name="par">Type object, Should be an Enumerator Type</param>
/// <param name="val">Object type, Should be the value of the Enumerator to return as string</param>
/// <returns>String value, the String value form of the Enumerator item.
/// If the passed object value (@val) is NOT valid, Returns NULL
/// If passed object value (@val) IS valid, Returns string value of @val</returns>
public static string EnumString( this Enum par , object val ) {
    if( Enum.IsDefined( par.GetType() , val ) ) {
        return Enum.GetName( par.GetType() , val );
    } else {
        return null;
    }
}
共享方法,帮助线:
public static string EnumString( Enum par , object val ) {
    if( Enum.IsDefined( par.GetType() , val ) ) {
        return Enum.GetName( par.GetType() , val );
    } else {
        return null;
    }
}