У меня есть этот интерфейс, который используется несколькими конкретными типами, такими как EmailFormatter
, TextMessageFormatter
и т. Д.
public interface IFormatter<T>
{
T Format(CompletedItem completedItem);
}
Проблема У меня есть то, что с моей EmailNotificationService
я хочу ввести EmailFormatter
. Подпись конструктора для этой службы - общедоступная служба EmailNotificationService (IFormatter
.
Я почти уверен, что видел это раньше, но как мне зарегистрировать это в Windsor, чтобы он вводил EmailFormatter
, если имя параметра конструктора emailFormatter
?
Вот мой регистрационный код Windsor.
container.Register(Component.For<IFormatter<string>>().ImplementedBy<EmailFormatter>());