C# Activator.CreateInstance - как создать второй экземпляр существующего объекта?

Я использую класс Activator для создания новых экземпляров стороннего приложения (C++ .exe)

Определение класса Activator: Содержит методы для создания типов объектов локально или удаленно или для получения ссылок на существующие удаленные объекты.

Если я создаю несколько экземпляров своего приложения, я бы хотел, чтобы каждый экземпляр моего приложения ссылался на отдельный экземпляр стороннего приложения. Происходит следующее: каждый экземпляр моего приложения ссылается на один и тот же экземпляр стороннего приложения (сторонний экземпляр создается при запуске первого экземпляра моего приложения).

Как заставить стороннее приложение создавать отдельный экземпляр для каждого экземпляра моего приложения?

1 ответ

Решение

Фактически класс Activator определен как "Содержит методы для создания типов объектов локально или удаленно", но он написан плохо, и было бы более правильно сказать "Содержит метод для создания объектов на основе предоставленной информации о типах". Если вы используете удаленные объекты и ".NET remoting" для привязки внутрипроцессных прокси к удаленным объектам, то решение о том, когда создается экземпляр удаленного объекта, принимается удаленным процессом, а не вызывающим процессом. Если он определяет одноэлементный экземпляр, то все вызовы, использующие Activator для привязки к нему, будут привязаны к одноэлементному экземпляру; в противном случае вызовы будут каждый раз создавать новый экземпляр в удаленном процессе.

Другие вопросы по тегам