2012-05-05 3 views
0

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

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

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

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

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

ответ

0

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

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

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

+0

Я понимаю, что это основной принцип ПРИЗМ ... однако я хотел бы иметь возможность изменить это. Идея состоит в том, что приложение действительно не интересуется тем, что действительно называется модулем; необходимо следить за загрузкой модулей, и для этого ему необходимо отслеживать внутренние имена или идентификаторы. В настоящий момент требование заключается в том, чтобы модуль имел совпадающее имя с конфигурационным файлом, который будет использоваться для загрузки указанного модуля, но, если возможно, я хотел бы снять это ограничение. – Shaamaan

Смежные вопросы