Передача имени модуля конструктору модуля

Я создаю приложение Silverlight, которое будет загружать модули, определенные пользователем.

Сложность в том, что я не знаю, какие модули будут, поэтому я не знаю их названий.

Я столкнулся с небольшой проблемой: когда загружается пользовательский модуль, он не знает своего имени (загрузчик знает его во время выполнения), и мне нужно какое-то имя, чтобы отслеживать все используемые модули. приложением.

В основном это сводится к следующему: я хотел бы сообщить модулю ожидаемое имя (простую строку) в конструкторе модуля.

Однако, насколько я знаю, в Unity вы можете передавать интерфейсы только модулям, верно? И даже если я создам очень простой интерфейс со строковым свойством, как мне убедиться, что каждый модуль получает правильное имя (или как мне передать правильный экземпляр этого интерфейса)?


person Shaamaan    schedule 05.05.2012    source источник


Ответы (1)


Наверняка модуль сам определяет свое имя, например.

[Module(ModuleName="Module Name Goes Here")]
public class SomeModule : ModuleBase
{
    ....
}

Зачем ему называть свое имя?..

person Richard Friend    schedule 08.05.2012
comment
Я понимаю, что это основной принцип PRISM... однако я хотел бы иметь возможность это изменить. Идея состоит в том, что приложение на самом деле не интересует, как на самом деле называется модуль; что ему нужно, так это отслеживать загруженные модули, а для этого ему нужно отслеживать внутренние имена или идентификаторы. На данный момент требуется, чтобы модуль имел совпадающее имя с файлом конфигурации, который будет использоваться для загрузки указанного модуля, но, если возможно, я хотел бы снять это ограничение. - person Shaamaan; 08.05.2012