Autofac工厂方法

Autofac工厂方法,autofac,Autofac,在一个容器中,我注册了一个FooFactory,另一个组件需要一个Foo class FooFactory { FooFactory(Bar bar) { ... } Foo CreateFoo() { ... } } class FooConsumer { FooConsumer(Foo foo) { ... } } builder.RegisterType<FooProvider>(); builder.RegisterType<FooConsumer>

在一个容器中,我注册了一个FooFactory,另一个组件需要一个Foo

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());

这种模式没有问题;这其实很普遍