DebuggerDisplay是字典的键/值对吗?

sgt*_*gtz 5 .net c#

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

例如

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>();
Run Code Online (Sandbox Code Playgroud)

sha*_*tor 7

编辑:也看到这个答案.

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

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

如果它允许你指定一个Target开放的泛型类型,例如Target = typeof(KeyValuePair<,>)哪个适用于任何类型的KVP,我会感到惊讶.但如果你需要,那值得一试!