問題タブ [debuggerdisplay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 複雑な型での DebuggerDisplay の連鎖
DebuggerDisplay 属性を定義するクラスがいくつかあります。ある DebuggerDisplay 属性を別の属性に基づいて定義する方法があるかどうかを知りたいです。次のクラスがある場合:
クラス A の DebuggerDisplay 属性で定義されているように、B のインスタンスで A クラスを確認したいと思います。その代わりに、クラス B のオブジェクトを表示しているときに、クラス A の ToString() メソッドをデバッガーに取得しています。
c# - 外部ライブラリのクラスのToStringまたはDEbuggerDisplayを「オーバーライド」します
私はXNAのものを開発し、それらのマトリックス構造を使用しています。デバッグ時に、マトリックスに表示される値は次のようになります。
これは読むのにあまり便利ではありません。私は次のようなものが欲しいです:
この構造は私のものではないので、ToString
メソッドもDebuggerDisplay
属性もオーバーライドできません。
この種の機能のための簡単なテクニックはありますか?私はそれを一般的な要件として想像しています。たぶん、最後の手段としてVisualStudio自体と関係がありますか?
精度:操作(好奇心旺盛な場合はMatrix.Decompose())を探しているのではなく、デバッグモードのVisual Studio(または結局のところ他の)でこのタイプの変数を「レンダリング」するだけです。
c# - DebuggerDisplayで条件を使用することは可能ですか?
次のクラスについて考えてみます。
プロパティに基づいてデバッガー表示を追加したいと思いIsTempFileName
ます。, TempFileName = {TempFileName,nq}
インスタンスが一時ファイルの場合に文字列を追加したいと思います。どうすればこれを達成できますか?
c# - DebuggerTypeProxy クラスの DebuggerDisplay 属性
[DebuggerDisplay("{OneLineAddress}")] をデバッガ プロキシのクラスで使用すると、動作しないようです。私が間違っていることはありますか?または、元のクラスにコードを追加せずにこれを回避する方法はありますか?
c# - プロパティの子「DebuggerDisplay」属性にアクセスできますか?
現在の状態
2 つのクラスを持つ:
それらを使用して:
デバッガ内で表示されるツールチップ値a
は
1 = 5、2 = {DebuggerDisplayTest.B}
ゴール
私が欲しいのは次のようなものです
1 = 5、2 = '3 = 10'
ToString()
これは、 classのメソッドをオーバーライドすることで実現できることを知っていますB
。私は自分のアプリケーションでデバッグ専用のコードを書いているので、これは正しくないと感じています。
また、次のような文字列を使用することも知っています
もうまくいくでしょう。A
classには class の知識が必要になるため、これも私には適切ではありませんB
。
DebuggerDisplay
typeの値をB
class のその型のインスタンスに「注入」する方法がもっと欲しいA
です。
質問
「has-a」複合クラスの属性DebuggerDisplay
内のメンバーの属性にアクセスすることは何とか可能ですか?DebuggerDisplay
アップデート
おそらく、この SO answerに従って、私の要件は不可能です。おそらく良い解決策はToString
、クラスB
でオーバーライドしていくつかのことを行い、プロパティif..else
を使用してデバッガ内でのみ異なる動作をすることです。Debugger.IsAttached
何かのようなもの:
c# - パラメーターを指定した DebuggerDisplayAttribute メソッドの呼び出し
DebuggerDisplay 属性内でパラメーターを使用してメソッドを呼び出すことはできますか? MSDN の記事Using the DebuggerDisplay Attributeには、この問題に関する役立つ情報はありませんでした。
ToString
文字列パラメーターを使用してメソッドを呼び出そうとしました"d"
。しかし、以下はうまくいきませんでした:
複雑な式ではなく、プライベート プロパティを使用することをお勧めします。しかし、それにもかかわらず、式でそれは可能ですか?
.net - Visual studio/Dotnet DebuggerDisplay 属性には、「nq」以上のスイッチがありますか?
DebuggerDisplay 属性にはどのようなスイッチがありますか?
nq
出力を囲む引用符を削除するスイッチを認識しています。
もっとありますか?