码迷,mamicode.com
首页 > 其他好文 > 详细

C# 程序集 与 反射

时间:2014-08-13 12:19:16      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:java   使用   strong   数据   ar   代码   c++   .net   

程序集

  对于C#程序员来说一定不陌生,不就是VS生成的那些exe,dll么。是的,程序集(.net中exe与dll的区别就是exe有程序接入口,即Main函数)就是.net框架下,可以被CLR加载并运行的一堆数据集(类似java中的jar包,无法脱离虚拟机自己运行)。它们和之前C\C++生成的可执行程序和动态链接库有本质的区别。

    说了半天,程序集里到底有什么呢。作为一堆数据集,程序集的数据可以分为:类型元数据,程序元数据,IL代码,资源。

    先说下什么是元数据,元数据一般就是指描述自身的数据。

    程序集元数据:包含程序集的版本信息,安全信息,签名等。

    类型元数据:记录了程序集将引用了哪些类,用户自定义了哪些类,字段,数据类型等一系列信息(VS的编程助手靠的就是反射获取类型元数据)。

    IL代码:MSIL,微软中间语言,微软跨语言的根基所在,所有的C#代码都编译成IL代码,保存在程序集中,在被CLR加载后,由JIT调用BCL,FTL即时编译成机器码来让CPU运行。

    资源:图片,视频,音频不一而足。

 

反射

   学C#的好多人都提反射色变,觉得这是个很高级的东西。好吧,反射使用的技术的确高级,但是我们应用起来却是非常的容易,微软体贴的优点在这时候就凸显出来了。

      其实反射很简单,它的本质就是去在运行时动态的加载程序集,找出并能得到程序集中包含什么类,方法,属性 和字段,并且去调用这些类,方法,属性和字段。

     反射常用的类:
  
    Assembly  加载程序集用
    Type      核心类,反射调用获得的类就靠是它保存的

C# 程序集 与 反射,布布扣,bubuko.com

C# 程序集 与 反射

标签:java   使用   strong   数据   ar   代码   c++   .net   

原文地址:http://www.cnblogs.com/tonnytong/p/3909425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!