我了解类层次结构和继承的基础知识。因此,我不理解 Watch 窗口为 ContentItem 对象显示的类层次结构。
似乎在说 ContentItem 继承 ContentItem 继承 ContentItem...一直到无穷大。这是什么意思?
最佳答案
@insta 几乎是正确的。 ContentItem 派生自 DynamicObject,DynamicObject 派生自什么都没有(它只实现了一个接口(interface))。在任何具体类型与其所属属性不同的对象下,调试器首先显示与其最具体表示相同的对象。例如,如果您查看内容项的记录属性,您会看到它属于 ContentItemRecord 类型,但如果部署它,您会在它下面看到标有 [ContentItemRecordProxy] 的内容。然而,VS 似乎对动态类型做了一些特别的事情,它似乎对基类应该是什么感到困惑,所以它向您展示了 [Orchard.ContentManagement.ContentItem] 下的实际对象,它本身有一个基类,依此类推,直至无穷远。您可以安全地忽略这种奇怪的行为。
关于c# - 为什么 VS Watch 窗口一直向下显示 ContentItem > base > ContentItem > base?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393974/