通过反射获取类的信息
#region 通过反射获取类的信息
static void Main( string [] args)
{
//typeof获取Type对象 用Type接收
Type t = typeof (MyClass); //获取MyClass的Type
//第二种方式 同上
MyClass myClass = new MyClass();
Type t2 = myClass.GetType();
Console.WriteLine(t.Name); //通过t.name获取类名
Console.WriteLine(t.Namespace); //通过t.namespace获取命名空间
Console.WriteLine(t.Assembly); //通过t.Assembly获取程序集
FieldInfo[] fis = t.GetFields(); //返回当前Type所有的公有字段 赋值给FieldInfo数组
foreach (FieldInfo fi in fis) Console.WriteLine(fi.Name); //遍历FieldInfo中的字段名称
PropertyInfo[] pis = t.GetProperties(); //返回当前Type所有的公有属性 赋值给PropertyInfo数组
foreach (PropertyInfo pi in pis) Console.WriteLine(pi.Name); //遍历FieldInfo中的属性名称
MethodInfo[] mis = t.GetMethods(); //返回当前Type所有的公有方法 赋值给MethodInfo数组
Console.WriteLine( "*********************************" ); //华丽的分界线
foreach (MethodInfo mi in mis) Console.WriteLine(mi.Name); //遍历MethodInfo中的方法名称
}
internal class MyClass
{
public int a;
public int b;
private int c;
private int d;
public string Name { get ; set ; }
public string Name2 { get ; set ; }
public void Test1() { }
public void Test2() { }
}
#endregion