【问题标题】:Code Map Visual Studio not showing circular references代码图 Visual Studio 未显示循环引用
【发布时间】:2015-10-13 22:33:23
【问题描述】:

我的这段代码在 Service1 和 Service 2 之间有一个循环引用,我正在使用 VS2015 Code Map 来查找循环引用,但它们似乎没有出现

我选择了 Layout > Analyzers > Circular References Analyzer,根据右侧的图例,它应该在红色方框中突出显示...

    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();

            }
        }

【问题讨论】:

    标签: c# visual-studio circular-reference code-map


    【解决方案1】:

    该图中的任何地方也没有循环引用。所有的链接都是从左到右流动的,没有一个是从右到左的。循环引用分析器在可见图中突出显示循环。

    以下是方法级别的简单循环引用示例:

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

    还有代码图:

    如果您还有其他期待,请告诉我。如果您能描述您试图捕获的架构违规类型,这也会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 2022-01-05
      • 1970-01-01
      相关资源
      最近更新 更多