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