के लिए डीबगर विज़ुअलाइज़र मैंने किसी भी संग्रह (ICollection
, ICollection<T>
) ऑब्जेक्ट को देखने के लिए ग्रिड के साथ फ़ॉर्म बनाया है।किसी भी आईसीलेक्शन और आईसीओलेक्शन <T> प्रकार
इसके बाद मैंने डीबगर विजुअलाइज़र क्लास (Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer
से विरासत) बनाया।
विज़ुअलाइज़र को व्यावसायिक रूप से स्थापित किया गया है (मैंने इसे System.Collections.ArrayList
कक्षा पर आजमाया)।
लेकिन मुझे विज़ुअलाइज़र को ICollection
/ICollection<T>
प्रकार के सामान्यीकृत करने में समस्या है।
मैं विशेषता निर्दिष्ट:
[assembly: DebuggerVisualizer(typeof(DebugerSide), typeof(VisualizerObjectSource), Target = typeof(System.Collections.Generic.ICollection<>), Description = "Collection visualizer")]
[assembly: DebuggerVisualizer(typeof(DebugerSide), typeof(VisualizerObjectSource), Target = typeof(System.Collections.ICollection), Description = "Collection visualizer")]
लेकिन विजुआलाइज़र डिबग में वी.एस. द्वारा की पेशकश की नहीं है।
यदि मैं सटीक वर्ग का नाम निर्दिष्ट करता हूं, तो विज़ुअलाइज़र वीएस में उपलब्ध है। क्या कोई रास्ता है, मेरा इरादा कैसे करें या कोई रास्ता नहीं है, इसे कैसे प्राप्त किया जाए?
धन्यवाद!
धन्यवाद! कामकाज थोड़ा पागल दिखता है। लेकिन यह संभवतः एकमात्र तरीका होगा, मेरे उद्देश्य को कैसे प्राप्त किया जाए। – TcKs
समस्या यह है कि आप एक सामान्य वर्ग के लिए विज़ुअलाइज़र नहीं बना सकते हैं, या आप 2 "अलग" प्रकारों के लिए एक ही विज़ुअलाइज़र को पंजीकृत नहीं कर सकते हैं? –
डीबगर विज़ुअलाइज़र इंटरफ़ेस प्रकारों पर काम नहीं करेंगे, केवल कक्षाओं पर (System.Array और System.Object को छोड़कर)। आपको एक विशिष्ट वर्ग निर्दिष्ट करना होगा। आप एक सामान्य वर्ग के लिए एक विज़ुअलाइज़र बना सकते हैं, लेकिन समर्थन सामान्य जेनेरिक प्रकारों तक सीमित है - जैसा कि यहां लिखा गया है: http://msdn.microsoft.com/en-us/library/e2zc529c.aspx –