@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?

Редактировать:

Ким Майор предлагает использоватьэтот подход что также может быть достигнуто с помощью кода.

Мне было бы интересно узнать, как сделать это автоматически для всех подходящих свойств.

Ответы на вопрос(8)

Ваш ответ на вопрос