簡體   English   中英

從System.Type在AppDomain中創建實例

[英]Creating an Instance in an AppDomain from a System.Type

我正在嘗試在AppDomain中創建一個實例。 因此,我可以為每個插件創建一個單獨的AppDomain,並在使用Unload方法關閉它們時正確處理它們。

到目前為止,我的所有插件都有一個IEnumerator,並通過它們循環執行以下代碼。

Type temp = (Type)enumerator.Current;
AppDomain ad = AppDomain.CreateDomain(temp.FullName);
object obj = ad.CreateInstance(temp.Assembly.FullName, temp.FullName);

但是它在第三行崩潰,表明它無法加載文件或程序集。

以前我用過:

object obj = Activator.CreateInstance((Type)enumerator.Current);

但是發現我無法通過調用base.dispose()來正確處理這些插件,這意味着服務調用保持打開狀態,當服務返回時代碼將繼續執行。

是否可以根據類型創建應用程序域?

好的,所以我發現了我的錯誤。 它應該顯示為:

object obj = ad.CreateInstanceFrom(temp.Assembly.Location, temp.FullName);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM