2016-07-28 9 views
1

Whan私は、このようなフォーマット構造体のデータ

DateTime dt = DateTime.Now; 

と私がウォッチウィンドウに追加し、それは、このような形式で表示されているかのように私のコードで日時型オブジェクトを持っている: enter image description here

しかし、このような構造体を作成してWatch Windowに追加すると、次のようになります。 enter image description here 私は構造体の名前とツリーを展開するとプロパティを見ることができます。しかし私は私の現在のデータのフォーマットされたビューを見たいと思います。

Watch WindowでDateTimeのように見えるようにするにはどうすればよいですか?

答えて

4

構造体のToString()メソッドをオーバーライドするだけで済みます。
返される値はウォッチウィンドウに表示される値になります。

struct Foo { 
    public int Bar; 

    public Foo(int bar) { 
     Bar = bar; 
    } 

    public override string ToString() { 
     return Bar.ToString(); 
    } 
} 
+0

あなたの応答をありがとうございました。それはトリックです。私はそれがとても簡単だとは信じられません。 ToString()メソッドを数回使用しましたが、この方法でウォッチウィンドウの表示が変更されたことに気付かなかったことがあります。 – user3021830

4

またDebuggerDisplayAttributeを使用することができます。

[DebuggerDisplay("StartHour = {StartHour}")] 
public struct Scheduler 
{ 
    public DateTime StartHour; 
} 
+0

ありがとうございました。それはかなりうまくいく。しかし、以前の答えはDateTimeのように文字列を返します。しかし、あなたのものは私が見る限り、非常に良い代替アプローチです。 – user3021830