通过反射获取类的信息
#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