2015-10-13 64 views
0

我有这样的代码有服务1和服务2之间的循环引用,我使用VS2015符号映射找到循环引用,但他们似乎并没有被显示出来符号映射Visual Studio中没有表现出循环引用

我选择布局>分析仪>循环引用分析,并根据它应该在红色方框突出显示右侧的传说......

public interface IService1 
     { 
      void Dosometing1(); 
      void Donothing(); 
     } 

     public class Service1 : IService1 
     { 
      private readonly IService2 _service2; 

      public Service1(IService2 service2) 
      { 
       _service2 = service2; 
      } 

      public void Dosometing1(){} 
      public void Donothing() 
      { 
      _service2.Dosometing2(); 
      } 
     } 

     public interface IService2 
     { 
      void Dosometing2(); 
     } 

     public class Service2 : IService2 
     { 
      readonly IService1 _service1; 

      public Service2(IService1 service1) 
      { 
       _service1 = service1; 
      } 

      public void Dosometing2() 
      { 
       _service1.Donothing(); 

      } 
     } 

circ ref from code map

回答

0

也有,没有循环引用随时随地图。所有链接从左到右流动,没有从右到左流动。循环引用分析器突出显示可见图形中的循环。

这里是在方法层面的简单循环引用的一个例子:

class TestMe 
    { 
     public void A() 
     { 
      B(); 
     } 

     public void B() 
     { 
      A(); 
     } 
    } 

和代码映射:

enter image description here

请让我知道如果你期待的东西。如果你能描述你试图抓住什么样的建筑违规,它也会有所帮助:)