首页 > 代码库 > C# 动态态引用DLL的方法
C# 动态态引用DLL的方法
首先,我们需要封装一个dll,vs2008下建立一个类库,代码如下:
using System; using System.Collections.Generic; using System.Linq; using 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); 就行了。
System.Text; namespace dll { public class addclass { public static Int32 add(Int32 i, Int32 j) { return i + j; } } }
C# 动态态引用DLL的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。