Q-->question        A-->answer        M-->mention
          The Chapter 22th Assambly load and reflection

M:类型信息的发现,类型实例的创建以及类型成员的访问(程序集的加载和反射),通常用于创建动态的可扩展的应用程序.

M:内部实现上,CLR通过使用System.Reflection.Assembly类的静态Load()来试图加载程序集

M: GAC==> Global Assembly Cache  全局程序集缓存

M:在动态可扩展的应用程序中,Assembly的Load()是将程序集加载到应用程序域的首选方法.

Q:反射的性能(缺点)?
A:1.因大量使用了字符串,所以其不提供编译时类型安全
  2.类型及其成员名字在编译时未知,必须在运行时通过使用字符串来标识和发现它们,这意味着要不断扫描程序集的整个元数据,执行相应的字符串搜索,因此其速度慢

M:发现程序集中定义的类型:最常用--> Assembly.GetExportedTypes()

posted on 2007-06-28 16:52  晓木  阅读(173)  评论(0编辑  收藏  举报