Подтвердить что ты не робот

Получить тип контейнера для вложенного типа с использованием отражения

Скажем, у меня есть класс вроде этого:

public class Test {
    public class InnerTest{}
}

Теперь у нас есть объект TypeInfo для InnerTest. Как узнать объект TypeInfo для теста из InnerTest?

Другой способ прост, я могу просто использовать GetNestedTypes(), но я не могу найти метод или свойство (кроме IsNestedType) для определения содержащего класса для вложенного класса.

4b9b3361

Ответ 1

Вы можете получить это, извлекая свойство "DeclaringType".

Цитата MSDN:

Объект Type, представляющий закрытый тип, если текущий тип является вложенным типом; или определение общего типа, если текущий тип является параметром типа общего типа; или тип, объявляющий общий метод, если текущий тип является параметром типа общего метода; иначе, null.

http://msdn.microsoft.com/en-us/library/system.type.declaringtype.aspx