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