Autofac工厂方法
在一个容器中,我注册了一个FooFactory,另一个组件需要一个FooAutofac工厂方法,autofac,Autofac,在一个容器中,我注册了一个FooFactory,另一个组件需要一个Foo class FooFactory { FooFactory(Bar bar) { ... } Foo CreateFoo() { ... } } class FooConsumer { FooConsumer(Foo foo) { ... } } builder.RegisterType<FooProvider>(); builder.RegisterType<FooConsumer>
class FooFactory {
FooFactory(Bar bar) { ... }
Foo CreateFoo() { ... }
}
class FooConsumer {
FooConsumer(Foo foo) { ... }
}
builder.RegisterType<FooProvider>();
builder.RegisterType<FooConsumer>();
class工厂{
食品工厂(酒吧){…}
Foo CreateFoo(){…}
}
食品类消费者{
食物消费者(食物){…}
}
RegisterType();
RegisterType();
在注册过程中,Autofac是否有比调用c.Resolve更好的方法连接对CreateFoo的调用,或者这看起来几乎是正确的方法
builder.Register(c => c.Resolve<FooFactory>().CreateFoo());
builder.Register(c=>c.Resolve().CreateFoo());
这种模式没有问题;这其实很普遍