我有一个看起来像这样的课程:
public class Parent
{
public class Subclass
{
}
}
并使用反射我试图找到子类
void main
{
Parent p = new Parent();
Type t = p.GetType();
Type s = t.GetNestedType("Subclass"); //s is not set
}
这不起作用,因为显然没有嵌套类型。我怎样才能找到子类的类型?我需要得到s的原因是稍后调用.GetMethod(“someMethod”)。在它上面调用(...)。
答案 0 :(得分:3)
我只是尝试了同样的事情,它对我有用:
public class ParentClass
{
public class NestedClass
{
}
}
private void button1_Click(object sender, EventArgs e)
{
Type t = typeof(ParentClass);
Type t2 = t.GetNestedType("NestedClass");
MessageBox.Show(t2.ToString());
}
您确定NestedClass是公开的吗?