c# - 为什么 VS Watch 窗口一直向下显示 ContentItem > base > ContentItem > base?

标签 c# visual-studio orchardcms orchardcms-1.8

我了解类层次结构和继承的基础知识。因此,我不理解 Watch 窗口为 ContentItem 对象显示的类层次结构。

It's turtles all the way down.

似乎在说 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/

相关文章:

c# - 使用 SSH.NET 从 SFTP 服务器下载一个特定文件

c# - 如果我使用 C#,为什么每个上下文调用 wglCreateContext 两次,如果使用 C++,为什么每个上下文调用一次?

c# - Unity EditorWindow - 更改场景时保存弹出窗口

visual-studio - 进行了无法编译的编辑。在 VS2019 中使用 Resharper 时

lucene.net - Lucene.Net 支持 XOR bool 查询吗?

c# - 如何逐字阅读课文

c# - Visual Basic,为什么没有?

asp.net - Visual Studio : Convert 'Empty ASP.NET' template into MVC

c# - Orchard CMS,Autofac关系

orchardcms - 在 Orchard CMS 中获取自定义 sql 查询的完整表名