2012-03-01 37 views
4

是否可以将一个System.Diagnostics.DebuggerDisplay属性分配给Dictionary的定义?字典的键/值对的DebuggerDisplay?

例如

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>(); 

回答

6

编辑:又见this answer

我还没有尝试过,但从文档中,可以在程序集级别应用此属性。因此,在理论上,你可以做这样的事情:

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

我会感到惊讶,如果它让你与指定Target这是一个开放式泛型类型,例如脱身Target = typeof(KeyValuePair<,>)这将适用于任何类型的KVP。但是如果你需要这个,值得一试!