@Petter Friberg, спасибо за редактирование. :)
отаю над проектом, в котором платформа Unity используется в качестве контейнера IoC. Мой вопрос касается внедрения необязательной зависимости (в данном случае регистратора) в несколько классов с использованием внедрения свойства или метода установки.
Я не хочу загромождать конструкторы всех моих классов этими необязательными зависимостями, но я не могу найти хороший способ справиться с этим в Unity. То, как вы это сделаете, согласноДокументация MSDN, добавив атрибут к свойству:
private ILogger logger;
[Dependency]
public ILogger Logger
{
get { return logger; }
set { logger = value; }
}
Я нахожу это очень уродливым. ВStructureMap Чтобы установить все свойства данного типа, можно сделать следующее:
SetAllProperties(policy => policy.OfType<ILog>());
Кто-нибудь знает, возможно ли сделать что-то подобное в Unity?
Редактировать:
Ким Майор предлагает использоватьэтот подход что также может быть достигнуто с помощью кода.
Мне было бы интересно узнать, как сделать это автоматически для всех подходящих свойств.