首先,请看截图。
这是vs 2010的观察窗口。
我希望结构/类的一些子成员移动到父级的值字段以便于调试。 (在C#中)
有可能吗?
答案 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
{
...
}
每个括号中的项目都是对象的属性。使用此属性创建的字符串将完全按照您的需要显示。
答案 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;
}