我创建了一个继承Dictionary<string, string>
并重写方法的类,ToString()
以便于调试(在 Watch 窗口中查看此类实例的状态)。如果我在控制台上显示这种类型,一切正常:
但是好像Visual Studio还是用原来ToString()
的type方法Dictionary<string, string>
这个事实使我的代码调试变得非常复杂,因为我无法快速看到该类型字段的所需值。
如何强制 Visual Studio 使用我的方法ToString()
,而不是类型的方法Dictionary<string, string>
?
using System;
using System.Collections.Generic;
namespace TestDictionary
{
class Program
{
static void Main(string[] args)
{
CmdValue innerCmdVal = new CmdValue("InnerName", null);
CmdValue cmdVal = new CmdValue("name1", innerCmdVal);
cmdVal.Add("key1", "value1");
Console.WriteLine(cmdVal);
Console.ReadKey();
}
}
class CmdValue : Dictionary<string, string>
{
public readonly string Name;
public readonly CmdValue InnerCmdValue;
public CmdValue(string name, CmdValue innerCmdValue)
{
this.Name = name;
this.InnerCmdValue = innerCmdValue;
}
public override string ToString()
{
string str = string.Format("{0}[{1}].{2}", this.Name, this.Count, this.InnerCmdValue);
return str;
}
}
}