能否限定泛型参数必须是enum?泛型参数是enum时,怎么做枚举对象的==操作?

phommy phommy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
下边的两种比较方式都会提示运算符“==”无法应用于“T”和“T”类型的操作数
加了where T:struct 或 where T:enum也不行(后一种语法就不对)
问题如题。。。


enum MyEnum
{
}

class MyClass<T>
{
T value;

public bool EqualTo(T obj)
{
return (T)value == (T)obj; //error
return value == obj; //error
//强制转换成int也不行,用object.Equals的结果又不是我想要的。。。
}
}


...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
phommy
C# 111,128 成员 642,536 内容