mam ten interfejs, który jest używany przez kilka konkretnych typów, takich jak EmailFormatter
, TextMessageFormatter
itpJak wstrzykiwać właściwą zależność na podstawie konstruktora nazwy parametru
public interface IFormatter<T>
{
T Format(CompletedItem completedItem);
}
Problem mam jest to, że z moim EmailNotificationService
jest to, że chcę wstrzyknąć EmailFormatter
. Sygnatura konstruktora dla tej usługi to public EmailNotificationService(IFormatter<string> emailFormatter)
.
Jestem prawie pewien, że widziałem to wcześniej, ale jak mogę zarejestrować to w Windsor, aby wstawić EmailFormatter
, jeśli nazwa parametru konstruktora to emailFormatter
?
Oto mój kod rejestracyjny Windsor.
container.Register(Component.For<IFormatter<string>>().ImplementedBy<EmailFormatter>());
Dzięki za odpowiedź. Szukałem złych rzeczy. : D – User
Cieszę się, że mogę pomóc. –