Как ввести правильную зависимость на основе имени параметра конструктора

У меня есть этот интерфейс, который используется несколькими конкретными типами, такими как EmailFormatter , TextMessageFormatter и т. Д.

public interface IFormatter<T>
{
    T Format(CompletedItem completedItem);
}

Проблема У меня есть то, что с моей EmailNotificationService я хочу ввести EmailFormatter . Подпись конструктора для этой службы - общедоступная служба EmailNotificationService (IFormatter emailFormatter) .

Я почти уверен, что видел это раньше, но как мне зарегистрировать это в Windsor, чтобы он вводил EmailFormatter , если имя параметра конструктора emailFormatter ?

Вот мой регистрационный код Windsor.

container.Register(Component.For<IFormatter<string>>().ImplementedBy<EmailFormatter>());
6
задан User 7 August 2011 в 15:14
поделиться