1 using System;
2 using System.Reflection;
3
4 namespace ConsoleApplication2 {
5 class Class1 {
6 [STAThread]
7 static void Main(string[] args) {
8 System.Type t=typeof(System.String);
9 //获取构造函数
10 Console.WriteLine("获得构造函数列表");
11 System.Reflection.ConstructorInfo[] ci=t.GetConstructors(System.Reflection.BindingFlags.Public|System.Reflection.BindingFlags.Instance);
12 foreach(System.Reflection.MemberInfo mi in ci) {
13 Console.WriteLine(mi.ToString());
14 }
15 Console.WriteLine("---------------------------------------------------------");
16 Console.WriteLine("获得成员数量");
17 //得到类型的成员数量
18 MemberInfo[] mii=t.GetMembers();
19 Console.WriteLine("{0} 类型共有 {1} 个成员",t.FullName,mii.Length);
20 if (t.IsPublic) {
21 Console.WriteLine("{0} 的可见性为Public",t.FullName);
22 }
23 Console.WriteLine("---------------------------------------------------------");
24 //列出类型所有的字段,属性,方法,事件
25 Console.WriteLine("获得字段列表");
26 FieldInfo[] fi=t.GetFields(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
27 foreach(MemberInfo mi in fi) {
28 Console.WriteLine(mi.ToString());
29 }
30 Console.WriteLine("---------------------------------------------------------");
31 Console.WriteLine("获得属性列表");
32 PropertyInfo[] pi=t.GetProperties(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
33 foreach(MemberInfo mi in pi) {
34 Console.WriteLine(mi.ToString());
35 }
36 Console.WriteLine("---------------------------------------------------------");
37 Console.WriteLine("获得方法列表");
38 MethodInfo[] mmi =t.GetMethods(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
39 foreach(MemberInfo mi in mmi) {
40 Console.WriteLine(mi.ToString());
41 }
42 Console.WriteLine("---------------------------------------------------------");
43 Console.WriteLine("获得事件列表");
44 EventInfo[] ei=t.GetEvents(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
45 foreach(MemberInfo mi in ei) {
46 Console.WriteLine(mi.ToString());
47 }
48 }
49 }
50 }
51
2 using System.Reflection;
3
4 namespace ConsoleApplication2 {
5 class Class1 {
6 [STAThread]
7 static void Main(string[] args) {
8 System.Type t=typeof(System.String);
9 //获取构造函数
10 Console.WriteLine("获得构造函数列表");
11 System.Reflection.ConstructorInfo[] ci=t.GetConstructors(System.Reflection.BindingFlags.Public|System.Reflection.BindingFlags.Instance);
12 foreach(System.Reflection.MemberInfo mi in ci) {
13 Console.WriteLine(mi.ToString());
14 }
15 Console.WriteLine("---------------------------------------------------------");
16 Console.WriteLine("获得成员数量");
17 //得到类型的成员数量
18 MemberInfo[] mii=t.GetMembers();
19 Console.WriteLine("{0} 类型共有 {1} 个成员",t.FullName,mii.Length);
20 if (t.IsPublic) {
21 Console.WriteLine("{0} 的可见性为Public",t.FullName);
22 }
23 Console.WriteLine("---------------------------------------------------------");
24 //列出类型所有的字段,属性,方法,事件
25 Console.WriteLine("获得字段列表");
26 FieldInfo[] fi=t.GetFields(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
27 foreach(MemberInfo mi in fi) {
28 Console.WriteLine(mi.ToString());
29 }
30 Console.WriteLine("---------------------------------------------------------");
31 Console.WriteLine("获得属性列表");
32 PropertyInfo[] pi=t.GetProperties(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
33 foreach(MemberInfo mi in pi) {
34 Console.WriteLine(mi.ToString());
35 }
36 Console.WriteLine("---------------------------------------------------------");
37 Console.WriteLine("获得方法列表");
38 MethodInfo[] mmi =t.GetMethods(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
39 foreach(MemberInfo mi in mmi) {
40 Console.WriteLine(mi.ToString());
41 }
42 Console.WriteLine("---------------------------------------------------------");
43 Console.WriteLine("获得事件列表");
44 EventInfo[] ei=t.GetEvents(BindingFlags.Static|BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Instance);
45 foreach(MemberInfo mi in ei) {
46 Console.WriteLine(mi.ToString());
47 }
48 }
49 }
50 }
51