標籤:
using System;using System.Reflection;namespace TestReflect{ class BaseClass { public int MyFieldBase=1; public int getfieldBase() { return MyFieldBase; } } class DerivedClass : BaseClass { public int MyFieldDerived=2; public int getfieldBase(int i) { return MyFieldDerived; } } class Program { static void Main(string[] args) { Type tbc=typeof(DerivedClass); Console.WriteLine("類型名:{0}.", tbc.Name); Console.WriteLine("它有如下欄位:"); FieldInfo[] fi = tbc.GetFields(); MethodInfo[] me = tbc.GetMethods(); foreach (var f in fi) { Console.WriteLine("欄位類型{0},欄位名{1}",f.FieldType,f.Name); } Console.WriteLine(); Console.WriteLine("它有如下方法:"); foreach (var f in me) { Console.WriteLine("傳回值類型:{0},函數名:{1}",f.ReturnType ,f.Name); ParameterInfo[] paramsInfo = f.GetParameters(); foreach (var p in paramsInfo) { Console.WriteLine("參數類型:{0}參數名:{1}",p.ParameterType,p.Name); } Console.WriteLine(); } Console.ReadKey(); } }}
C#反射取得類的欄位與方法資訊