4

すべての依存関係がプログラムの開始時に既に登録されているとします。プログラムの後半で、AutoFac を使用してパラメーターなしのコンストラクターで新しいオブジェクトを作成し、登録されたプロパティをオブジェクトに挿入するにはどうすればよいでしょうか?

4

1 に答える 1

8

オブジェクトをコンテナーに登録し、インスタンスPropertiesAutowiredが必要なときに resolve を使用できます。

ContainerBuilder builder = new ContainerBuilder();
// builder register other dependencies
builder.RegisterType<MyObject>().PropertiesAutowired();

var container = builder.Build();

var myObject = container.Resolve<MyObject>(); //the properties will be filled

または、コンテナーに登録したくない場合はInjectProperties、既存のインスタンスでメソッドを使用できます。

ContainerBuilder builder = new ContainerBuilder();
// builder register other dependencies

var container = builder.Build();

var myObject = new MyObject();
container.InjectProperties(myObject); //the properties will be filled
于 2012-11-15T06:15:51.177 に答える