I have this interface that is being used by a handful of concrete types, such as EmailFormatter
, TextMessageFormatter
etc.
public interface IFormatter<T>
{
T Format(CompletedItem completedItem);
}
The issue I'm having is that with my EmailNotificationService
is that I want to inject EmailFormatter
. The constructor signature for this service is public EmailNotificationService(IFormatter<string> emailFormatter)
.
I'm pretty sure I've seen this done before but how do I register this with Windsor so that it injects EmailFormatter
if the constructor parameter name is emailFormatter
?
Here is my Windsor registration code.
container.Register(Component.For<IFormatter<string>>().ImplementedBy<EmailFormatter>());