C#Activator.CreateInstance - 如何创建现有对象的第二个实例?

时间:2016-09-18 19:05:48

标签: c# activator createinstance

我使用Activator类创建第三方应用程序的新实例(c ++ .exe)

Activator类的定义是:包含在本地或远程创建对象类型的方法,或获取对现有远程对象的引用

如果我创建了我的应用的多个实例,我希望我的应用的每个实例都引用第三方应用的单独实例。发生了什么,是我的应用程序的每个实例都引用了第三方应用程序的相同实例(当我运行我的应用程序的第一个实例时创建的第三方实例。)

如何强制第三方应用为我的应用的每个实例创建自己的单独实例?

1 个答案:

答案 0 :(得分:1)

Activator类实际上被定义为"包含在本地或远程创建对象类型的方法"但这写得很差,并且更准确地说"包含基于提供的类型信息创建对象的方法"。如果您正在使用远程对象和" .NET远程处理"要将进程内代理绑定到远程对象,然后由远程进程而不是调用进程决定何时实例化远程对象。如果它定义了一个单例实例,那么使用Activator绑定到它的所有调用都将绑定到单例公开的实例;否则,每次调用都会在远程进程中创建一个新实例。