Если это возможно, это будет непросто.
Хотя создание экземпляра типа в известном AppDomain
легко (например, Activator.CreateInstance
перегрузка, которая принимает ссылку AppDomain
), проблема будет получение ссылки на цель AppDomain
.
Создать AppDomain
и поделиться этой ссылкой в текущем AppDomain
просто: поле или свойство static
.
Проблема с передачей ссылки на другие домены приложений, созданные сторонним кодом. Кажется, я вспоминаю, что части BCL совместно используют статические свойства в разных доменах (по сути, они имеют один экземпляр на процесс, а не на AppDomain
, но этот механизм обычно недоступен для других сборок.
Вероятно, лучше понять, почему вы хотите сделать это: возможно, существует лучшее решение вашей основной проблемы: почему вы хотите, чтобы все экземпляры были в одном AppDomain
?