我有一个这样的课程
public class SomeClass {
public enum Status { A,B,C}
}
我想做
bool enumExists = MysteryMethod("SomeClass.Status");
MysteryMethod里面有什么?
答案 0 :(得分:2)
枚举本身就是类型。
嵌套类型在容器类和类型名称
之间用+命名因此,神秘方法的名称为Type.GetType
public class SomeClass
{
public enum Status
{
}
}
public class Program
{
public static void Main(string[] args)
{
Type t = Type.GetType("Lab.SomeClass+Status", false);
bool isEnum = t.IsEnum;
}
}
答案 1 :(得分:0)
想出来:
var asm = System.Reflection.Assembly.GetExecutingAssembly();
var typ = asm.GetType("SomeClass+Status")
var enumExists = (typ != null && typ.IsEnum);
当您使用GetType时,Trick是将类名后面的+。