日期:2014-05-18  浏览次数:20768 次

有关枚举的问题
enum Type
{
A=1,
B=3'
c=100,
d=200,
....
}

比如有一个名为类型的枚举。它可能会增加。

我现在想要知道一个数它是不是这个Type中的类型
private bool IsType(int value) //注意这里是int
{
  Type temp = (Type)value; //此时不管理value值是什么都能转过去
  //有没有办法判断一个是不是枚举里的项,而不用像以下方法实现
  swith(temp)
  { 
  case Type.A:
  case Type.B:
  .... //由于Type的项可能还会扩充,那么这个函数也得不断的改,有有办法,一劳永逸?
  break;
  default:
  return false;
  }
  return true;
}

------解决方案--------------------
Enum.IsDefined 方法 
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://feiyun0112.cnblogs.com/
------解决方案--------------------
噢,不好意思搞反了,搂主的问题可以这样解决:
bool isDefined = Enum.IsDefined(typeof(枚举类型), 数值);