我们如何扩展所有枚举类型?
How can we extend all enum type?
我们如何扩展所有枚举类型?
我想用一种名为 "ToStringConstant" 的新方法扩展所有枚举类型。此方法将 return 整数值作为 String。到目前为止,这是我所拥有的,但编译器不允许在 where 子句中使用枚举。
public static string ToStringConstant<T>(this T EnumVar) where T : enum
{
return ((int)EnumVar).ToString();
}
示例:
public enum Example
{
Example = 0
}
void Method()
{
Example var = Example.Example;
var.ToString();//Return "Example"
var.ToStringConstant();//Return "0"
}
不要使方法通用,只接受 Enum
:
public static string ToStringConstant(this Enum EnumVar)
{
return ((int)EnumVar).ToString();
}
附带说明,强制转换为 long
而不是 int
将确保代码正常运行,而不管枚举的基础类型如何。
我们如何扩展所有枚举类型?
我想用一种名为 "ToStringConstant" 的新方法扩展所有枚举类型。此方法将 return 整数值作为 String。到目前为止,这是我所拥有的,但编译器不允许在 where 子句中使用枚举。
public static string ToStringConstant<T>(this T EnumVar) where T : enum
{
return ((int)EnumVar).ToString();
}
示例:
public enum Example
{
Example = 0
}
void Method()
{
Example var = Example.Example;
var.ToString();//Return "Example"
var.ToStringConstant();//Return "0"
}
不要使方法通用,只接受 Enum
:
public static string ToStringConstant(this Enum EnumVar)
{
return ((int)EnumVar).ToString();
}
附带说明,强制转换为 long
而不是 int
将确保代码正常运行,而不管枚举的基础类型如何。