要获取嵌套在当前Type中的类型,代码如下-
using System; public class Demo { public static void Main() { Type type1 = typeof(Subject); try { Type[] type2 = type1.GetNestedTypes(); Console.WriteLine("Nested Types..."); for (int i = 0; i < type2.Length; i++) Console.WriteLine("{0} ", type2[i]); } catch (ArgumentNullException e) { Console.Write("{0}", e.GetType(), e.Message); } } } public class Subject { public class BasicSubject { // } public class AdvSubject { // } }
输出结果
这将产生以下输出-
Nested Types... Subject+BasicSubject Subject+AdvSubject
让我们看另一个例子-
using System; using System.Reflection; public class Demo { public static void Main() { Type type1 = typeof(Subject); try { Type[] type2 = type1.GetNestedTypes(BindingFlags.Public); Console.WriteLine("Nested Types..."); for (int i = 0; i < type2.Length; i++) Console.WriteLine("{0} ", type2[i]); } catch (ArgumentNullException e) { Console.Write("{0}", e.GetType(), e.Message); } } } public class Subject { public class BasicSubject { // } public class AdvSubject { // } }
输出结果
这将产生以下输出-
Nested Types... Subject+BasicSubject Subject+AdvSubject