MVC 5这会导致无限循环吗?

时间:2015-03-18 01:56:18

标签: c# object constructor asp.net-mvc-5

我正在编写一个MVC 5互联网应用程序,并对潜在的编码缺陷提出疑问。

我有一个AccountService类,它有一个MapLocationMarkerService对象,在构造函数调用中初始化。 MapLocationMarkerService的构造函数参数为AccountService

当我创建AccountService对象时,我在初始化AccountService对象时传入当前的MapLocationMarkerService对象。

这会导致无限循环吗?

2 个答案:

答案 0 :(得分:0)

没有

public class A
{
  public B b;

  public A()
  {
    b = new B(this);
  }
}

public class B
{
  public A a;

  public B(A _a)
  {
    a = _a;
  }
}

答案 1 :(得分:0)

这称为循环引用。它可能表明服务没有正确解耦。您可以将某些方法重构为另一个服务类以删除循环引用。

This文章可以帮助您了解并解决问题。