私はこのクラスを持っています:
public class MessageService
{
private readonly IMessageSender messageSender;
public MessageService(IMessageSender messageSender)
{
this.messageSender = messageSender;
}
}
autofacを登録して、コンストラクター内でパラメーターを渡す方法:
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
builder.RegisterType<MandrillMessageSender>().As<IMessageSender>();
builder.RegisterType<MessageService>(new MandrillMessageSender()); // NOTE THIS STRING IS NOT WORKING
したがって、コントローラーコンストラクター内にパラメーターを渡すと、結果は次のように機能するはずです。messageServiceオブジェクトは、MandrillMessageSerderを挿入して作成する必要があります。
public Home(MessageService messageService)