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

C# Activator.CreateInstance - how to create second instance of an existing object?

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

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

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

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

Activator class 实际上定义为 "Contains methods to create types of objects locally or remotely" 但写得不好,更准确地说是 "Contains method to create objects based on supplied type information" 。如果您正在使用远程对象和“.NET 远程处理”将进程内代理绑定到远程对象,那么关于何时实例化远程对象的决定是由远程进程而不是调用进程做出的。如果它定义了一个单例实例,那么所有使用 Activator 绑定到它的调用都会绑定到单例暴露的实例上;否则每次调用都会在远程进程中创建一个新实例。