在容器中,我注册了一个FooFactory,另一个需要Foo的组件。
class FooFactory {
FooFactory(Bar bar) { ... }
Foo CreateFoo() { ... }
}
class FooConsumer {
FooConsumer(Foo foo) { ... }
}
builder.RegisterType<FooProvider>();
builder.RegisterType<FooConsumer>();
Autofac是否有更好的方法来连接对CreateFoo的调用,而不是在注册期间调用c.Resolve,或者这看起来是否正确?
builder.Register(c => c.Resolve<FooFactory>().CreateFoo());
答案 0 :(得分:3)
这种模式没有错;它实际上很常见。