Не Type.GetNestedTypes
делает то, что вы хотите?
Обратите внимание, что если вы хотите получить типы с "двойным вложением", вам необходимо выполнить рекурсивный анализ, поскольку Foo.Bar.Baz - это вложенный тип в Foo.Bar, а не в Foo.
Для "современных" сред (.NET 4.5, PCL, UWA и т. Д.) Вместо этого вам нужно TypeInfo.DeclaredNestedTypes
, например, type.GetTypeInfo().DeclaredNestedTypes
, используя метод расширения GetTypeInfo()
.