我了解类层次结构和继承的基础。因此,我不理解Watch窗口为ContentItem对象显示的类层次结构。
似乎说ContentItem继承ContentItem继承ContentItem ...一直到无限。这是什么意思?
最佳答案
@insta几乎正确。 ContentItem派生自DynamicObject,而DynamicObject则不派生(仅实现一个接口)。在任何具体类型与其所在属性不同的对象下,调试器首先显示与其最具体表示形式相同的对象。例如,如果查看内容项的record属性,则会看到它的类型为ContentItemRecord,但是如果部署它,则会在其下看到标记为[ContentItemRecordProxy]的内容。 VS似乎在动态类型方面做了一些特殊的事情,但似乎对基类型应该感到困惑,因此它向您显示了[Orchard.ContentManagement.ContentItem]下的实际对象,该对象本身具有基类,等等,直到无穷远。您可以放心地忽略这种奇怪的行为。