私はNinjectに入っています。デフォルトコンストラクタを介してAをインスタンス化Ninject:第2レベルの内部依存を解決する
public class NinjectBindings : NinjectModule
{
public override void Load()
{
Bind<IMasterViewModel>().To<IQMasterViewModel>();
}
}
public class A
{
[Inject]
public IMasterViewModel _viewModel
{
get;
set;
}
public A()
{
}
}
とクラスB:
public class B
{
public A a = new A();
}
Ninject.IKernel kernel = new StandardKernel(new NinjectBindings());
var b = kernel.Get<B>();
私はNinject.kernellを使用して、クラスBを解決しようとすると、私の本当のシナリオの簡素化、私はクラスプロパティインジェクションとAを持っています.Get()はクラスAの依存関係をAインスタンスに注入しないことを呼び出します。 オブジェクトAがインスタンス化される方法を変更できない場合、そのような注入を処理する正しい方法は何ですか? 実際のシナリオでは、クラスBはWPFウィンドウであり、クラスAはXAMLで宣言されたUserControlです。おかげさまで