反射方法

Assembly aa=Assembly.LoadFile(要加载的文件路径): 从硬盘加载程序集,存在内存里。返回Assembly类型

Assembly aa = Assembly.GetExecutingAssembly();: 获得当前程序集。返回值Assembly类型
Type[] bb= aa.GetTypes(): 从程序集中获取类的类名。返回值Type数组类型
string bb = aa.Location: 获得当前程序集的路径。返回string类型
string cc = System.IO.Path.GetDirectoryName(bb): 获得当前程序集的路径。去掉.exe后缀的路径,返回值string类型
string[] dd=System.IO.Directory.GetFiles(cc,"*.dll"):获取路径下所有带.dll的

Type aa = typeof(类名):获取已知的类的类信息,返回值Type
new一个类出来 Type bb = aa.GetType():获取未知的类的类信息,返回值Type
MethodInfo[] bb = aa.GetMethods():获取类的所有公共方法,返回值MethodInfo数组类型
FieldInfo[] bb = aa.GetFields():获取类的所有字段,返回值FieldInfo数组类型
ConstructorInfo[] bb = aa.GetConstructors():获取类所有的构造函数,返回值ConstructorInfo数组类型
PropertyInfo[] bb = aa.GetProperties():获取类所有的属性,返回值PropertyInfo数组类型
MemberInfo[] bb = aa.GetMembers():获取类所有的成员,返回值MemberInfo数组类型
FieldInfo bb = aa.GetField("字段名"):获取类中指定的字段,返回值FieldInfo类型
bb.SetValue(类的对象,要赋给字段的值):给指定对象的指定字段赋值
string dd = cc.GetValue(类的对象).ToString:获得指定的值(如属性、方法等等)
PropertyInfo bb = aa.GetProperty("属性名"):获取类中指定的属性,返回值PropertyInfo类型
MethodInfo bb = aa.GetMethod("方法名 不用带()"):获取类中指定的方法,返回值MethodInfo类型
FieldInfo bb = aa.GetField("字段名"):获取类中指定的字段,返回值FieldInfo类型
aa.IsAssignableForm(xx):判断aa是否是xx的子类(继承关系)

aa.IsDefined(标签名):判断是否有这个标签存在
xx.Invoke(null,null):调用静态方法
xx.Invoke(this,null):调用实例方法
标签名 bb=aa.GetCustomAttribute< 标签名>()获取标签

posted on 2016-07-16 20:34  張暁磊  阅读(148)  评论(0编辑  收藏  举报