[英]Ninject WithConstructorArgument to Simple Injector Implementation
What is the direct implementation from Ninject's WithConstructorArgument
to a Simple Injector implementation? 从Ninject的
WithConstructorArgument
到Simple Injector的直接实现是什么?
var emailTemplates = new EmailTemplates
{
MasterPageTemplate = MVC.Email.Views._Layout
};
container.Register<IEmailService, EmailService>()
.WithConstructorArgument("templates", emailTemplates);
Class 类
public EmailTemplatesService(
EmailTemplates templates,
IEventEmailTemplatesRepository eventEmailTemplatesRepository)
In Simple Injector, you can do this: 在Simple Injector中,您可以执行以下操作:
container.Register<IEmailService>(() => new EmailService(
emailTemplates,
container.GetInstance<IEventEmailTemplatesRepository>()));
Or you can do this: 或者您可以这样做:
// Wrap the string value into a DTO and inject that
public EmailService(
EmailServiceSettings settings, IEventEmailTemplatesRepository r) { ... }
container.RegisterInstance(new EmailServiceSettings(emailTemplates));
container.Register<IEmailService, EmailService>();
Or you can override the parameter injection behavior, as explained here . 或者你也可以覆盖参数注入行为,如解释在这里 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.