通常需要重写类的ToString()才能在监视窗口中获得自定义格式,但是当类从列表派生时,它似乎不起作用。

class ListOfInts : List<int>
{
    public override string ToString()
    {
        return string.Join(",", this);
    }

    public static ListOfInts test = new ListOfInts() { 3, 4, 5 };
}


我在观察窗口中检查“测试”

ListOfInts.test             Count = 3   ListOfInts


并必须手动执行以下操作:

ListOfInts.test.ToString()  "3,4,5"     string


单个列表就可以了,但是我有很多东西。有没有办法阻止默认的“ Count = 3”格式优先?

最佳答案

您可以使用DebuggerDisplayAttribute

[DebuggerDisplay("{ToString()}")]
public class ListOfInts : List<int>
{
    public override string ToString()
    {
        return string.Join(",", this);
    }
}

09-05 05:36