1. 程式人生 > >Untiy動態載入.dll檔案

Untiy動態載入.dll檔案

這裡先說一下反射

    System.Reflection名稱空間

     (1) AppDomain:應用程式域,可以將其理解為一組程式集的邏輯容器    

    (2) Assembly:程式集類

    (3) Module:模組 

    (4) Type:使用反射得到型別資訊的最核心的類

     我們用Assembly類來載入已經打包好的dll檔案。

程式碼實現

    我在這裡呼叫的是dll檔案裡的Class1類的Myfun()方法;

    協程的意義在於載入完此程式集後才獲取類。

執行結果

我的MyFun()方法列印了2333。這裡執行正常。

小結

在Assembly類裡有兩種載入dll檔案的方法:

1.Assembly.LoadFrom();已知程式集的檔名或路徑,載入程式集。

2.Assembly.LoadFile();載入指定路徑上的程式集檔案的內容。

 

一眼看下去沒什麼差別,但畢竟是兩種方法還是有些不同的,Assembly.LoadFile只載入相應的dll檔案,比如Assembly.LoadFile("MyFun.dll"),則載入

MyFun.dll,假如MyFun.dll中引用了Abc.dll的話,Abc.dll並不會被載入。 

Assembly.LoadFrom則不一樣,它會載入dll檔案及其引用的其他dll,比如上面的例子,Abc.dll也會被載入。