使用C#,有没有办法挂钩到正在运行的应用程序(我自己的应用程序)并获取类的实例?现在我正在做这个
// Find the IAutomation interface.
Type[] types = assembly.GetTypes();
foreach (Type type in types)
{
if (!type.IsAbstract && type.GetInterface("IAutomation") != null)
automation = (IAutomation)Activator.CreateInstance(type);
}
每次都会创建一个新的应用程序实例。我不想要单身人士申请!我想附加到现有实例(如果存在)并从那里拔出IAutomation。
这甚至可能吗?
答案 0 :(得分:2)
您可以使用remoting,或者将现有实例作为COM服务器,并使用COM互操作到现有实例。
也许你也可以使用一些调试API,但我认为不干净。
答案 1 :(得分:0)
如果AppDomain中存在IAutomation接口的现有实例,则必须有指向它的内容,否则将被垃圾收集。因此,您需要确定指向实例的内容并使用它来获取实例。您应该问自己一些问题,例如:谁创建了实例?可能这个对象持有参考。