重载枚举运算符C#和Silverlight

时间:2010-03-11 11:16:03

标签: c# operator-overloading

只是一个大学问题: 在将Enum与int进行比较时是否可以避免使用int转换?

int i = 0;
if(i == (int)MyEnum.Whatever)
{
} 

我想以这样的方式重载==运算符:

public static MyEnum operator ==(int lhs, MyEnum rhs)
{}

感谢阅读; - )

2 个答案:

答案 0 :(得分:1)

你做不到。见this similar question。正如该问题中所建议的那样,您可以定义一个扩展方法来进行比较,以便摆脱重复的强制转换。

答案 1 :(得分:0)

不,不可能。问题是 - 为什么你要与之相比?