2

我有一个枚举定义如下:

public enum Format {
  Normal = 1,
  Type2 = 2,
  Type3 = 3
}

我正在尝试使用反射并调用动态类型转换函数。但是在下面的代码中,“value”的值是“3”而不是“Type3”,它不能被识别为枚举。是否可以使用 int 值,3 来识别枚举?

Type enumType = property.PropertyType;
if (Enum.IsDefined(enumType, value))
   return Enum.Parse(enumType, value);
4

1 回答 1

3

您需要调用Enum.ToObject()将原始值转换为枚举的盒装实例。

于 2012-12-10T21:46:02.220 回答