vs2010 watch window:将一些成员打印到父节点

时间:2011-07-28 16:10:20

标签: c# visual-studio-2010 window watch

首先,请看截图。

enter image description here

这是vs 2010的观察窗口。

我希望结构/类的一些子成员移动到父级的值字段以便于调试。 (在C#中)

有可能吗?

4 个答案:

答案 0 :(得分:2)

是的,对于你正在写的课程。

使用DebuggerDisplay属性:

[DebuggerDisplay("N: {Name}; A1: {Address1}; A2: {Address2}; C: {City}; S: {State}; Z: {ZipCode}; P: {Phone}; F: {Fax}")]
internal class EntityAddress
{
...
}

或者更简单的用法:

[DebuggerDisplay("{Content}")]
class MeanItem
{
...
}

每个括号中的项目都是对象的属性。使用此属性创建的字符串将完全按照您的需要显示。

MSDN文档:Using DebuggerDisplay Attribute

答案 1 :(得分:1)

在MeanItem类上方添加DebuggerDisplay属性。类似的东西:

[DebuggerDisplay("Content={Content}")]
public class MeanItem
{
...

{}之间的值是要在调试器中显示的属性的名称。

答案 2 :(得分:0)

您是否可以访问MeanItem类的源代码?如果是这样,您可以重写ToString()方法以返回MeanItem.Content的值 - 这应该使它显示(而不是UOC.DicData.MeanItem)。

答案 3 :(得分:0)

您在示例中指向的区域只是对象的ToString表示形式(默认情况下显示类名称)。

您可以覆盖类中的ToString并返回内容

public override string ToString()
{
   return Content;
}