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); 就好了。編程

相關文章
相關標籤/搜索