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 回答