隐藏字段从调试器窗口中列出两次

时间:2012-10-23 16:51:12

标签: visual-studio-2010 visual-studio-debugging

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

如何隐藏第二个商家信息?

按照概述on the msdn library添加了webservice引用,因此我不想手动添加attribute [DebuggerBrowsable(DebuggerBrowsableState.Never)]

1 个答案:

答案 0 :(得分:1)

这有点像黑客攻击,并不像普通的Watch窗口那样具体,但你可以使用这个过程。

  1. 添加一个GetFieldValues实用程序方法,该方法只提取所需的字段值。
  2. 在调试时,打开Immediate Window
  3. 在立即窗口中,创建一个捕获GetFieldValues
  4. 结果的变量
  5. 在Watch窗口中,添加新创建的变量。
  6. 这样你就可以过滤掉你不想看到的东西。这是它的实际应用截图: Visual Studio immediate and watch windows

    效用方法:

    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);