前段时间敲代码,需要动态的加载的外部DLL,并且解析DLL,来读取DLL中的类,属性,有时候还需要读取特性的值。这个问题刚开始遇到,是一点想法没有,以前没有这么用过,后来查资料,请教别人,终于有了结果。当有了代码之后,发现在找问题的过程中,我糊涂了,因为解决这个问题的方式主要是——反射。我是通过利用反射进行DLL的动态加载和调用。下面来看看我的实现吧。
我做的例子是通过读取DLL的路径来加载DLL,然后遍历的读取DLL的类名,遍历每个类的属性,和类以及属性的特性。
主要代码有这几个:
1、加载程序集:
Assembly.LoadFile 只加载指定文件,并不会自动加载依赖程序集.Assmbly.Load