2012-03-01 35 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。但是如果你需要這個,值得一試!