私はたくさんのたくさんのプロパティを持つクラスを持っています。 私のプログラムでは、大量にログを取らなければなりません。多くの場合、私は手動に私のカスタムオブジェクトのToString()を提供
string log = "Current state of object:" + "Property1" + myObj.Property1 + ...
- よう ビルドログの文字列は、私はちょうどどのような場合は、オーバーライド
ToString
考えて、私は必要なものは何でものロギングを提供しています。それはgoogの練習と見なされますか? - フォーマッタ制御文字列を提供するにはどうすればよいですか?私は私のToStringメソッドは、2つのモード 1で動作するようにしたいと言うだけで、関連するプロパティが出力にあるwheereすべてのプロパティの完全なouputを、別のライトバージョンです
MyObj.ToString(「フル」)とMyObj.ToString(」のような何か)「基本
デバッグのために常に.ToStringをオーバーライドします。私はそれに問題があるとは思わない。 – RPM1984
も同上。 ToString()をオーバーライドすると、VSでもっと良い "ウォッチ"ウィンドウが表示されます。 – hhravn
これをOPとして明示的にコメントとして投稿する*デバッガには言及せず、ログファイルなど:デバッガ(腕時計)についてのみ心配している場合は、DebuggerDisplayAttribute(http:// msdn.microsoft.com/en-us/library/system.diagnostics.debuggerdisplayattribute.aspx)。さらに、ToString()の操作が複雑すぎると、デバッガがかなり頻繁に評価されるか、または例外が発生し、何も表示されないため、デバッガの速度が低下する可能性があります。 –