通过C#reflection获取类的Enum
我有一个Enum喜欢
namespace EnumTest { public class Enumeration { public Enumeration(); public enum Days { day = sunday, night = monday } } }
如何通过反思获取类型信息数天。
Type type = assembly.GetType(Days);
Type type = typeof(Days)
将返回Type type = typeof(Days)
的类型信息。 如果我有String s = "Days"
,使用此字符串s我需要获取Days的类型信息。
我需要类型=天
我不确定我是否理解你。 如果在字符串对象中有类型名称并且想要获取类型对象,则需要编写整个类型名称。
因为你的枚举是一个内部类型,所以完整的类型名称是“EnumTest.Enumeration.DaysEnumTest.Enumeration + Days”。
要获取您可以调用的类型对象
Type type = assembly.GetType("EnumTest.Enumeration.DaysEnumTest.Enumeration+Days");
要访问您需要的类型非常简单:
Type type = typeof(Enumeration.Days);
请注意,枚举声明将不起作用,因为您已在问题中写入它。 它应该是这样的:
public enum Days { Monday, Tuesday, ... }