c#活化剂.CreateInstance -如何创建一个现有对象的第二个实例

本文关键字:一个 对象 实例 第二个 何创建 活化剂 创建 CreateInstance | 更新日期: 2023-09-27 18:07:47

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

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

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

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

c#活化剂.CreateInstance -如何创建一个现有对象的第二个实例

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