元数据与反射

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元数据与反射相关的知识,希望对你有一定的参考价值。

1.反射程序集

  获取Assmbly对象有以下方法:

 (1)Assmbly.Load("程序集文件名称")

Assembly assembly = Assembly.Load("类库Demo");

(2)Assmbly.LoadFrom("程序集文件名")

Assembly assembly = Assembly.LoadFrom("类库Demo.dll");

上述两个方法的区别就在于Load只需要提供文件名不加后缀的信息即可。
(3)反射当前的程序集 Assmbly.GetExecutingAssembly()

Assembly assembly = Assembly.GetExecutingAssembly();

值得注意的是,对于引用同一解决方案的其他项目生成的程序集,Load和LoadFrom只需要提供程序集名就可以了,但是对于非本解决方案下得程序集,则需要提供程序集的完整路径了。

           Assembly assembly2 = Assembly.LoadFrom(@"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll");
 

否则会报以下错误:

以上是关于元数据与反射的主要内容,如果未能解决你的问题,请参考以下文章

反射原理

反射 元数据

java 反射代码片段

将 ES6 与 Angular2 rc3 一起使用时,需要未捕获的反射元数据 shim

C# 特性详解

反射-Emit