gpt4 book ai didi

.net - 调试器中显示的对象属性与 Intellisense 中的属性之间的差异

转载 作者:行者123 更新时间:2023-12-04 06:46:14 25 4
gpt4 key购买 nike

当我在调试器中检查对象时,我在调试器中看到的属性比 Intellisense 或代码中可用的属性多得多。

例如,调试器中 ASP.NET 中的 Page 对象显示了一个具有值的属性 RelativeFilePath。但是当我尝试在代码中使用它时,它不存在。这是为什么?

我在 MSDN 中查找了属性 RelativeFilePath,它存在于移动控件中。不知道为什么它会出现在调试器中,用于常规的 asp.net 控件。

最佳答案

调试器和智能感知在它们想要显示的内容方面有着非常不同的目标。

Intellisense 试图提供可以在对象上有效调用的成员集。基本上可访问的成员和扩展方法。这里的目标是帮助指导用户编写有效的代码。

调试器试图提供对对象运行时状态的检查。它很少关心可访问性,而是将所有相关信息放在一起显示。它甚至允许通过用户扩展自定义显示。这意味着您经常会看到对象上根本不存在或无法从用户代码访问的成员。

后者在您的场景中发挥作用。 Page type 确实有 RelativeFilePath属性(property)。但它是内部的,您的代码无法访问,因此 Intellisense 不会显示它。调试器不考虑成员显示的可访问性,因此提供了该值。

关于.net - 调试器中显示的对象属性与 Intellisense 中的属性之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com