DebuggerDisplay是字典的键/值对吗?

时间:2012-03-01 15:38:38

标签: c# .net

是否可以将System.Diagnostics.DebuggerDisplay属性分配给Dictionary的定义?

e.g。

Dictionary<int, SomeClass> 
[System.Diagnostics.DebuggerDisplay("{Info,nq}")]
public class SomeClass{

    string code {get;set;}

    public string Info { get { return "info" + code; }}
}


// place an attribute here??
[System.Diagnostics.DebuggerDisplay("{???,nq}")]
Dictionary<int, SomeClass> dict = new Dictionary<int, SomeClass>();

1 个答案:

答案 0 :(得分:7)

编辑:另见this answer

我还没有尝试过,但是从文档中可以在汇编级别应用此属性。所以从理论上讲,你可以这样做:

[assembly: DebuggerDisplay("{Key,nq}: {Value,nq}", Target = typeof(KeyValuePair<int, SomeClass>))]

如果它能让您轻松指定Target这是一个开放的通用类型,例如,我会感到惊讶。 Target = typeof(KeyValuePair<,>)适用于任何类型的KVP。但如果你需要,那值得一试!