Отражение, чтобы найти вложенный класс? - PullRequest
2 голосов
/ 30 января 2009

У меня есть класс, который выглядит примерно так:

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 Ответ

3 голосов
/ 30 января 2009

Я только что попробовал ту же самую вещь, и у меня это сработало:

    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 общедоступен?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...