• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ByronGeek的学习屋
胜他人者有力,胜己者强
博客园 首页 新随笔 联系 订阅 订阅 管理

随笔分类 -  CLR

CLR Learning
 
CLR 学习笔记:程序集加载和反射(3)
摘要:在获取一个Type之后,这个类型的成员可能包含字段,构造器,方法,属性,事件和嵌套类型。接下来就看说下如何查询一个类型的成员。1.发现类型的成员上一章提到了System.Reflection.MemberInfo类型,这是一个抽象基类,而我们的类型成员是从MemberInfo派生的一组类。具体的层次结构如下。 可以调用GetMembers方法,传入BindingFlags参数,然后返回由MemberInfo派生对象构成的一个数组。 1 Assembly assemblyFromPath = Assembly.LoadFile(@"E:\StrongNameDLL.dll") 阅读全文
posted @ 2014-01-20 12:18 ByronGeek 阅读(482) 评论(0) 推荐(0)
CLR 学习笔记:程序集加载和反射(2)
摘要:前面介绍了程序集加载的一般方式,但是我们的目的往往并不是简单的载入程序集就结束了,我们还希望了解程序集包含了哪些类型,借助程序集的某些类型实现想要的功能等。下面就接着前一章的内容继续向下学习。 1.发现程序集中定义的类型。常用的方法是Assembly的GetExportedTypes1 Assembly assemblyFromPath = Assembly.LoadFile(@"E:\StrongNameDLL.dll");2 foreach (Type t in assemblyFromPath.GetExportedTypes())3 {4 if (t.GetT... 阅读全文
posted @ 2014-01-19 17:47 ByronGeek 阅读(361) 评论(0) 推荐(0)
CLR 学习笔记:程序集加载和反射(1)
摘要:程序集加载和反射,实现了在编译时对一个类型一无所知的情况下,如何在运行时发现类型的信息,创建类型的实例以及访问类型的成员。显现的功能以及效果是十分强大的,比如使用第三方提供的程序集,以及创建动态可扩展应用程序。程序集加载:JIT编译器在将方法的IL代码编译成本地代码时,会查看IL代码中引用了哪些类型。在运行时,JIT编译器查看元数据表TypeRef和AssemblyRe,确定对应的程序集。在AssemblyRef表中,包含了构成程序集强名称的各个部分 —名称(无扩展名和路径),版本,语言文化和公钥。(StrongNameDLL, Version=1.0.0.0, Culture=neutral 阅读全文
posted @ 2014-01-18 13:16 ByronGeek 阅读(724) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3