C# Activator.CreateInstance - как создать второй экземпляр существующего объекта?
Я использую класс Activator для создания новых экземпляров стороннего приложения (C++ .exe)
Определение класса Activator: Содержит методы для создания типов объектов локально или удаленно или для получения ссылок на существующие удаленные объекты.
Если я создаю несколько экземпляров своего приложения, я бы хотел, чтобы каждый экземпляр моего приложения ссылался на отдельный экземпляр стороннего приложения. Происходит следующее: каждый экземпляр моего приложения ссылается на один и тот же экземпляр стороннего приложения (сторонний экземпляр создается при запуске первого экземпляра моего приложения).
Как заставить стороннее приложение создавать отдельный экземпляр для каждого экземпляра моего приложения?
1 ответ
Фактически класс Activator определен как "Содержит методы для создания типов объектов локально или удаленно", но он написан плохо, и было бы более правильно сказать "Содержит метод для создания объектов на основе предоставленной информации о типах". Если вы используете удаленные объекты и ".NET remoting" для привязки внутрипроцессных прокси к удаленным объектам, то решение о том, когда создается экземпляр удаленного объекта, принимается удаленным процессом, а не вызывающим процессом. Если он определяет одноэлементный экземпляр, то все вызовы, использующие Activator для привязки к нему, будут привязаны к одноэлементному экземпляру; в противном случае вызовы будут каждый раз создавать новый экземпляр в удаленном процессе.