159 public static void ListEvents(Type t)
160 {
161 Console.WriteLine("\n该类型的所有事件名:");
162 EventInfo ei = t.GetEvents();
163 foreach (EventInfo e in ei )
164 {
165 Console.WriteLine("\n事件名:{0}", e.Name);
166 }
167 }
168
169 //------------各种其他信息
170 public static void ListOtherInfo(Type t)
171 {
172 Console.WriteLine("基类名称:{0}",t.BaseType);
173 Console.WriteLine("基类的基类的名称:{0}", t.BaseType.BaseType);
174 Console.WriteLine("是一个类吗?:{0}", t.IsClass);
175 Console.WriteLine("是一个抽象类吗?:{0}", t.IsAbstract);
176 }
177
178
179 #endregion
180
181 public static void Main(string args)
182 {
183
184 Console.WriteLine("----------------------------------------------------------------");
185
186 Type t = Type.GetType("Exercise.Person");//-------Person类的完全限定名为"Exercise.Person"
187
188 ListOtherInfo(t);//反射其他一些信息
189 ListFields(t);//反射字段
190 ListProperties(t);//反射属性
191 ListInterFaces(t);//反射接口
192 ListEvents(t);//反射事件
193 ListMethodDetail(t, "ChangeNameAndAddAge");//反射一个特定方法的详细信息
194 ListMethods(t);//反射方法
195
196
197 Console.ReadLine();
198 }
199 }
200}
201
202