我有一个类似枚举的
namespace EnumTest
{
public class Enumeration
{
public Enumeration();
public enum Days
{
day = sunday,
night = monday
}
}
}
如何通过反思获得连续几天的类型信息。
Type type = assembly.GetType(Days);
Type type = typeof(Days)
会返回Days的Type信息。如果我有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,
...
}