在程序开发中,经常需要调用到外部的DLL,所以需要反射技术,动态的加载程序集,方便调用.
例如我们创建一个这样的类:

Code

在一般情况下,我们只需要在代码中这样调用就可以:

Code

如果需要在程序运行时动态加载,就需要用到Assembly类来实现,注意:(把上面的第一段代码,生成一个叫User.Dll)
一、Assembly.Load
这个方法接受一个AssemblyName实例作为一个参数,返回对应的程序集,实现的方法如下:
Code

这里输出的结果为:
get_Name
set_Name
ShowMe
Main
ToString
Equals
GetHashCode
GetType
I'm Alex

二、Assembly.LoadForm方法
该方法根据程序集的文件名与路径来加载程序集。

三、Assembly.LoadWithPartialName方法
该方法使用部分名称从应用程序目录或从全局程序集缓存加载程序集。

当然还要他们还可以实现部分引用,也就是可以通过程序集的名称,版本,公钥等等,只要在后面加上
Assembly a = Assembly.Load("User,version=1.0.0.0")来控制就可以了

 
posted on 2009-07-29 11:25  风浪  阅读(825)  评论(2编辑  收藏  举报