使用mytype.ReflectedType.GetFields()
我可以获得在c#类中定义的常量。
如何使用mytype.ReflectedType.XXX
在运行时期间在c#类中定义的某个枚举?
答案 0 :(得分:0)
枚举实际上并不是该类的成员,它只在类的范围内声明。您可以使用GetNestedType
方法获取在另一个内部声明的类型。例如:
public class Demo {
public enum Values { Apha, Beta }
}
Type t = typeof(Demo).GetNestedType("Values");
答案 1 :(得分:0)
好吧,你可以试试
(int)((reflectedType.GetEnumValues()
.Zip(reflectedType.GetEnumNames(), (v, n) => new { v, n })
.Where(p => p.n == FieldName)
.Single()).v)
这将为您提供枚举常量的数值。 但是,您无法获取枚举值,因为这需要在编译时知道真实的枚举类型。