2014-12-03 61 views
0

是否有一種方法可以將多個.dll文件作爲子進程調用,並且可以在調用.dll失敗時自動重啓進程?我想使用多個「AddInProcess」來調用這些.dll文件。從WinForms中運行多個.dll文件作爲子進程C#

如果有人可以給一個簡單的代碼來做到這一點,我將不勝感激。

+1

由於您正在尋找簡單的代碼,您應該能夠輕鬆編寫一個包含'Process.Start','Assembly.Load','Activator.CreateInstance'和'MethodInfo.Invoke'的類......當您擁有它時 - 用您遇到的具體問題更新您的帖子。 – 2014-12-03 03:37:32

+0

你也可以看看[MEF](https://mef.codeplex.com/)。 – Gene 2014-12-03 08:01:42

回答

0

您可以通過反射做:

Assembly assembly = Assembly.LoadFrom("c:\\path\\MyDll.dll"); 

Type type = assembly.GetType("MyClass"); 

object instanceOfMyType = Activator.CreateInstance(type); 

你可以,例如,創建一個接口,讓您的孩子的DLL實現它。 然後,當您調用反射時,檢查是否有任何對象實現它並實例化該對象。

相關問題