本主题适用于:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
学习版 |
![]() |
![]() |
![]() |
![]() |
![]() |
专业版、高级专业版和旗舰版 |
![]() |
![]() |
此功能仅应用于使用 .NET Framework 版本 4 的项目。
当**“监视”窗口显示实施 IDynamicMetaObjectProvider 的对象时。 接口,调试器将特殊“动态视图”**节点添加到监视显示。 动态视图节点显示动态对象的成员,但不允许编辑成员值。
如果用鼠标右击动态视图的任何子视图,并选择**“添加至监视”**,调试器会将为对象强制转换的新监视变量插入动态对象。 也就是 object Name 将变为:
((dynamic)object.Name
评估动态视图的成员会有副作用。 对于 C#,调试器不会在您转到新一行代码步骤时自动重新计算**“动态视图”**中显示的值。 对于 Visual Basic,将自动刷新通过动态视图添加的表达式。
有关如何刷新**“动态视图”值的说明,请参见 如何:刷新监视值。 有关副作用的说明,请参见 副作用与表达式。 对于 Visual Basic,将自动重新计算“动态视图”**的中显示的值。
如果要只显示对象的动态视图,可以使用 dynamic 格式说明符,此处所示的为 C#:
ObjectName, dynamic
对于 Visual Basic,可以使用该语法:
$dynamic, ObjectName
COM 对象
动态视图还增强了 COM 对象的调试体验。 如果调试程序遇到包装在一般 RCW、System.__ComObject 中的 COM 对象,则会添加对象的**“动态视图”**节点。