Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中的Unity injection容器中调用RegisterType的顺序是否重要?_C#_Dependency Injection_Unity Container - Fatal编程技术网

在C#中的Unity injection容器中调用RegisterType的顺序是否重要?

在C#中的Unity injection容器中调用RegisterType的顺序是否重要?,c#,dependency-injection,unity-container,C#,Dependency Injection,Unity Container,让我们假设,我们有几个这样的类: public class WorkerLevel1 : IWorkerLevel1 { public WorkerLevel1(IDependency1 dep1, IWorkerLevel2 workerLevel2) { ... } } public class WorkerLevel2 : IWorkerLevel2 { public WorkerLevel2(IDependency2 dep2) { ..

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

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

public class WorkerLevel2 : IWorkerLevel2
{
    public WorkerLevel2(IDependency2 dep2)
    {
      ...
    }
}
当我们进行注册时,调用RegisterType方法的顺序是否重要? (下文第1-4行)

container.RegisterType();
container.RegisterType();
container.RegisterType();
container.RegisterType();

这没关系,只要注册的接口都不同


但是,当多次注册同一接口时,顺序并不重要;在这种情况下,对RegisterType的每次后续调用都将覆盖该接口以前的注册。

是什么阻止了您自己尝试此功能?
container.RegisterType<IDependency1,Dependency1>();
container.RegisterType<IDependency2, Dependency2>();
container.RegisterType<IWorkerLevel2, WorkerLevel2>();
container.RegisterType<IWorkerLevel1, WorkerLevel1>();