在监视视图中格式化结构数据

时间:2016-07-28 14:49:10

标签: c# struct

我的代码中有一个Datetime类型对象,例如

DateTime dt = DateTime.Now;

如果我将它添加到Watch Window,它将以这样的格式显示: enter image description here

但是当我创建这样的结构并将其添加到Watch Window时,它看起来像: enter image description here 如果我展开树,我可以看到我的结构的名称和属性。但我希望看到我当前数据的格式化视图。

我应该怎么做我的结构在Watch Window中看起来像DateTime?

2 个答案:

答案 0 :(得分:4)

您只需要覆盖结构的ToString()方法 您返回的值将是观察窗口中显示的值。

struct Foo {
    public int Bar;

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

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

答案 1 :(得分:4)

您还可以使用DebuggerDisplayAttribute

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