我刚刚安装了Visual Studio Power Tool for code analysis和the viewer for the results。顺便说一下,很棒的工具!
当我点击“分析解决方案”时,我得到了结果:
我理解这些都意味着什么,除了,对于类中的每个方法,存在“继承深度”的不同值,并且对于该类,存在更大的值。
有没有人对这可能会说些什么有解释?
答案 0 :(得分:5)
当每个派生类扩展前一个类时,它会添加其他功能。它可以添加先前基类中不存在的属性或方法。现在,方法的总集大于基类的方法集。当派生类再次派生时,可以重复此过程。
因此,如果您使用派生程度最高的类并选择方法A
并将其跟随到首先实现A
的基类,则可能是不同的更深比选择方法B
并将其跟随到实现B
的第一个基类的类。这就是为什么不同方法的继承深度可能不同。
如果你自己选择类,它有一系列清晰的基类和它自己的明确深度,与方法的深度无关,它们总是与类本身相同或更少。
答案 1 :(得分:3)
以下是对遗产深度的一个很好的解释(带图片!):
http://www.nayyeri.net/depth-of-inheritance-for-wpf-and-windows-forms-applications