为了账号安全,请及时绑定邮箱和手机立即绑定

枚举类型+范形???

枚举类型+范形???

慕哥6287543 2018-09-14 09:06:03
问题描述:  我想要定义一个范形类型 MyClass<T>,需要限定T必须是一个枚举类型,不知是否可行。  写了下面的代码,但是VS不让我编译。  class MyClass<T> where T : Enum  {    .....  }
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

好像不能编译时检查,可采用运行时检查


1 class MyClass<T> where T : struct
2 {
3     public MyClass()
4     {
5         if (typeof(Enum) != typeof(T).BaseType)
6             throw new XXXException("...");
7     }
8 }
9  


查看完整回答
反对 回复 2018-09-18
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

根本做不到的吧,用typeof(T).IsEnum判断吧

查看完整回答
反对 回复 2018-09-18
  • 2 回答
  • 0 关注
  • 658 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信