C#动态引用DLL的方法

C#编程中,使用dll调用是经常的事,这样做的好处是非常多的,比如把某些功能封装到一个dll中,然后主程序动态调用这个dll。
   废话不多说,举例说明如下。
   首先,我们需要封装一个dll,vs2008下建立一个类库,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
  namespace dll
{
public class addclass
{
public static Int32 add(Int32 i, Int32 j)
{
return i + j;
}
}
}

   编译生成 dll.dll ,其中 类名是 addclass, 方法是 add 。
   接下来在主程序中调用 这个 dll.dll ,需要先把这个 dll.dll 复制到主程序的 bin\Debug 文件夹下。 动态引用 dll 需要用到 using System.Reflection; 这个反射命名空间。
private void test()
{
Assembly ass = Assembly.Load("dll"); //加载dll文件
Type tp = ass.GetType("dll.addclass"); //获取类名,必须 命名空间+类名
Object obj = Activator.CreateInstance(tp); //建立实例
MethodInfo meth = tp.GetMethod("add"); //获取方法
int t = Convert.ToInt32( meth.Invoke(obj, new Object[]{2, 3}) ); //Invoke调用方法
MessageBox.Show(t.ToString());
}
   上面介绍的是动态调用 dll 的方法,你也可以通过 引用 --> 添加引用(dll.dll)的方法进行前期加载,并配合 using dll的命名空间名称; 来使用。主程序中直接用 int t= addclass.add(2, 3); 就行了。

转载于:https://www.cnblogs.com/icedog/p/3330019.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值