在 C# 中以哪个顺序调用 Unity 注入容器中的 RegisterType 有关系吗?

Art*_*emy 7 c# dependency-injection unity-container

让我们假设,我们有几个这样的类:

public class WorkerLevel1 : IWorkerLevel1
{
  public WorkerLevel1(IDependency1 dep1, IWorkerLevel2 workerLevel2)
  {
    ...
  }
}

public class WorkerLevel2 : IWorkerLevel2
{
    public WorkerLevel2(IDependency2 dep2)
    {
      ...
    }
}
Run Code Online (Sandbox Code Playgroud)

当我们进行注册时,我们调用 RegisterType 方法的顺序有关系吗?(下面的第 1-4 行)

container.RegisterType<IDependency1,Dependency1>();
container.RegisterType<IDependency2, Dependency2>();
container.RegisterType<IWorkerLevel2, WorkerLevel2>();
container.RegisterType<IWorkerLevel1, WorkerLevel1>();
Run Code Online (Sandbox Code Playgroud)

Ast*_*ain 9

没关系,只要你注册的接口都不一样。

然而,当注册相同的界面多次,订货事情; 在这种情况下,对 RegisterType 的每次后续调用都将覆盖该接口的先前注册。