0
私はAutofacを初めて使用していますが、ビルダーにオブジェクトを渡す方法がわかりません。c#autofac解決の問題
public class OrderFactory : IOrderFactory {
private readonly IAffiliate _affiliate;
private readonly IGetNewOrdersToImport _ordersToImportHelper;
private readonly IOrderProcessor _orderProcessor;
public OrderFactory(IAffiliate affiliate, IGetNewOrdersToImport ordersToImport, IOrderProcessor orderProcessor) {
_affiliate = affiliate;
_ordersToImportHelper = ordersToImport;
_orderProcessor = orderProcessor;
}
}
ブートストラップ
アプリを実行すると、私が最初にアフィリエイトをロードし、OrderFactory にをアフィリエイトを渡したいのです
public IContainer Configure() { var builder = new ContainerBuilder(); builder.RegisterType<Channel>().As<IAffiliate>(); builder.RegisterType<OrderFactory>().As<IOrderFactory>(); return builder.Build(); }
プログラム
var channel = new Channel().Get(param);
var merchantOrderManager = _myContainer.Resolve<IOrderFactory>();
merchantOrderManager.ImportMerchantOrders();
そのチャネルオブジェクトは、現在多くのプロパティが移入し、私はOrderFactoryにChannelオブジェクトにアクセスしたいが、私は、アフィリエイトヌルを取得しています。..
さて、私はリポジトリを作成し、そこからチャネルを取得
... OrderFactoryが返されるたびに、私はChannelRepositoryからチャンネルを取得することを意味は 'null'なのでありますか? – haim770
OrderFactoryでアクセスしようとするとチャネルオブジェクトがnullになる –
スニペットで定義されたこの特定のチャンネルをパラメータとして工場に渡しますか? – Moutabreath