Autofac:根据可构造的内容选择服务的实现

时间:2019-06-27 13:19:29

标签: c# autofac

假设我有一个IService和两个实现ServiceAServiceB。然后,假设ServiceA在其构造函数中具有ClassA参数(以及其他),而ServiceB具有ClassB参数。然后,我想:

  1. 注册服务如下:
containerBuilder.RegisterType<ServiceA>().AsImplementedInterfaces();
containerBuilder.RegisterType<ServiceB>().AsImplementedInterfaces();
  1. 注册ClassAClassB的实例(由运行时决定)。
  2. 当其他某个组件需要IService时,autofac将提供一个基于可构造的对象,即,如果它在存储库中有一个ClassA对象,它将构造并提供ServiceA等。

我该如何实现?请注意,ClassAClassB不共享公共接口。

0 个答案:

没有答案