1

デバッガー ウィンドウで Web サービスの応答を調べると、応答のすべてのフィールドが 2 回 (1 回はFieldの付録と共に) リストされます。


(ソース: mlkshk.com )

2 番目のリストを非表示にするにはどうすればよいですか?

msdn ライブラリで概説されているように webservice 参照が追加されるため、属性 [DebuggerBrowsable(DebuggerBrowsableState.Never)]を手動で追加したくありません。

4

1 に答える 1

1

これはちょっとしたハックで、通常のウォッチ ウィンドウほど見栄えがよくありませんが、このプロセスを使用できます。

  1. 必要なフィールド値だけを抽出する GetFieldValues ユーティリティ メソッドを追加します。
  2. デバッグ中にイミディエイト ウィンドウを開く
  3. イミディエイト ウィンドウで、GetFieldValues の結果を取得する変数を作成します。
  4. [ウォッチ] ウィンドウで、新しく作成した変数を追加します。

そうすることで、見たくないものを除外できます。実際のスクリーンショットは次のとおりです。 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 に答える