我了解类层次结构和继承的基本知识。因此,我不理解“监视”窗口为ContentItem对象显示的类层次结构。
似乎是说ContentItem继承了ContentItem继承了ContentItem。一直到无穷大。这是什么意思?
发布于 2014-08-22 10:57:10
@insta几乎是正确的。ContentItem是从DynamicObject派生而来的,它不来自任何东西(它只实现一个接口)。在与属性的具体类型不同的任何对象下,调试器首先显示与其最具体表示相同的对象。例如,如果您查看一个内容项的record属性,您将看到它是ContentItemRecord类型的,但是如果您部署它,您将在它下面看到标记为ContentItemRecordProxy的内容。然而,VS似乎对动态类型做了一些特殊的事情,它似乎对基类的类型感到困惑,因此它向您展示了Orchard.ContentManagement.ContentItem下的实际对象,它本身有一个基类,等等。你可以安全地忽略这种奇怪的行为。
发布于 2014-08-19 14:38:06
我认为在这个特殊的情况下,你看到的是果园特有的东西。
我下载了源代码,ContentItem是一个动态对象,它公开了一个名为ContentItem的字段。很可能你看到的是一个继承人
PageBase > Pages > Admin Page > Components > Component > Login Component > Text > etc
我认为这棵目标树比你的耐心更深。在大多数情况下,你是正确的--“基础”将带你进入超级阶级。
发布于 2014-08-19 14:51:35
这种类型显示在观察列表的第三列中,MS亲切地把它推到了右边,所以你几乎没有注意到它。第二列是"Value“,并得到这些重复的值。
https://stackoverflow.com/questions/25393974
复制