反思找到嵌套类?

时间:2009-01-29 22:21:18

标签: c# reflection

我有一个看起来像这样的课程:

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”)。在它上面调用(...)。

1 个答案:

答案 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是公开的吗?