第四章 C#反射机制.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#反射机制 1. 反射机制基础类 1 (1) 反射机制的功能与介绍 1 (2) 反射层次模型图 1 (3) Assembly类获取程序及信息 1 (4) Module类获取程序集模块信息 2 (5) Type类获取类型的信息 2 (6) 利用反射调用方法 3 2. 特性(Attribute) 3 (1) Attribute介绍 3 (2) 示例 3 3. 自定义特性 3 (1) 自定义特性说明 3 (2) 示例 3 (3) AttributeUsage类的使用 4 (4) 可选参数与命名参数 5 (5) Attributes标识符 5 (6) 通过反射获取Attributes 6 作者:李志伟 时间:2014-02-08 反射机制基础类 反射机制的功能与介绍 审查元数据并收集关于它的类型信息的能力称为反射。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。System.reflection命名空间包含的几个类,允许用户解析这些元数据表的代码: System.Reflection.Assembly:表示一个程序集。 System.Reflection.Module:在模块上执行反射。 System.Type:表示各种类型。 System.Reflection.MethodBase:提供有关方法和构造函数的信息。 System.Reflection.MethodInfo:发现方法的属性并提供对方法元数据的访问。 System.Reflection.MemberInfo:获取或访问有关成员属性。 System.Reflection.FieldInfo:发现字段属性并提供对字段元数据的访问权。 System.Reflection.PropertyInfo:发现或访问属性(Property)的属性(Attribute)。 System.Reflection.EventInfo:发现事件的属性并提供对事件元数据的访问权。 System.Reflection.ConstructorInfo:发现或访问类构造函数的属性。 反射层次模型图 Assembly类获取程序及信息 class Program { static void Main(string[] args) { Assembly assem = Assembly.Load(mscorlib);//加载系统程序集 PrintInfo(assem);//输出程序集相关信息 assem = Assembly.LoadFrom(@F:\System.Data.SQLite.dll);//或使用LoadFile()方法 PrintInfo(assem);//输出程序集相关信息 assem = Assembly.GetExecutingAssembly();//获取当前执行代码的程序集 PrintInfo(assem);//输出程序集相关信息 Console.Read(); } //输出程序集相关信息 static void PrintInfo(Assembly assem) { Console.WriteLine(程序集全名: + assem.FullName); Console.WriteLine(程序集的版本: + assem.GetName().Version); Console.WriteLine(程序集初始位置: + assem.CodeBase); Console.WriteLine(程序集位置: + assem.Location); Console.WriteLine(程序集入口: + assem.EntryPoint); Type[] types = assem.GetTypes();//得到该程序集里所有的类型 Console.WriteLine(程序集下包含的类型数: + types.Length); //foreach (var item in types) //{ // Console.WriteLine(类: + item.Name);//输出类型名

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档