1

在调试器窗口中检查 Web 服务的响应时,响应的每个字段都会列出两次 - 一次带有Field的附录。


(来源:mlkshk.com

如何隐藏第二个列表?

Web 服务引用已按照msdn 库中的说明添加,因此我不想手动添加属性 [DebuggerBrowsable(DebuggerBrowsableState.Never)] 。

4

1 回答 1

1

这有点小技巧,不像常规的 Watch 窗口那样美观,但你可以使用这个过程。

  1. 添加一个 GetFieldValues 实用方法,该方法将只提取您想要的字段值。
  2. 调试时,打开立即窗口
  3. 在即时窗口中,创建一个捕获 GetFieldValues 结果的变量
  4. 在 Watch 窗口中,添加新创建的变量。

这样你就可以过滤掉你不想看到的东西。这是它的屏幕截图: Visual Studio 即时和监视窗口

实用方法:

public static List<Tuple<String,Object>> GetFieldValues(Object instance)
{
    var fields = instance.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly);
    var fieldValues = new List<Tuple<String, Object>>();
    foreach (var f in fields) { fieldValues.Add(new Tuple<string, Object>(f.Name, f.GetValue(instance))); }
    return fieldValues;
}

和即时窗口代码:

var blah = J.GetFieldValues(this);
于 2012-11-06T23:32:57.300 回答