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