0
是否有一種方法可以將多個.dll文件作爲子進程調用,並且可以在調用.dll失敗時自動重啓進程?我想使用多個「AddInProcess」來調用這些.dll文件。從WinForms中運行多個.dll文件作爲子進程C#
如果有人可以給一個簡單的代碼來做到這一點,我將不勝感激。
是否有一種方法可以將多個.dll文件作爲子進程調用,並且可以在調用.dll失敗時自動重啓進程?我想使用多個「AddInProcess」來調用這些.dll文件。從WinForms中運行多個.dll文件作爲子進程C#
如果有人可以給一個簡單的代碼來做到這一點,我將不勝感激。
您可以通過反射做:
Assembly assembly = Assembly.LoadFrom("c:\\path\\MyDll.dll");
Type type = assembly.GetType("MyClass");
object instanceOfMyType = Activator.CreateInstance(type);
你可以,例如,創建一個接口,讓您的孩子的DLL實現它。 然後,當您調用反射時,檢查是否有任何對象實現它並實例化該對象。
由於您正在尋找簡單的代碼,您應該能夠輕鬆編寫一個包含'Process.Start','Assembly.Load','Activator.CreateInstance'和'MethodInfo.Invoke'的類......當您擁有它時 - 用您遇到的具體問題更新您的帖子。 – 2014-12-03 03:37:32
你也可以看看[MEF](https://mef.codeplex.com/)。 – Gene 2014-12-03 08:01:42