2012-04-11 10 views
6

डीबगिंग करते समय मुझे कभी-कभी घड़ी विंडो में ऑब्जेक्ट संदर्भों की तुलना करने की आवश्यकता मिलती है ताकि यह देखने के लिए कि दो चर वास्तव में एक ही ऑब्जेक्ट का संदर्भ दे रहे हैं या नहीं।घड़ी विंडो में ऑब्जेक्ट संदर्भों को दिखाने/तुलना करने का कोई तरीका?

सी ++ और पॉइंटर्स के साथ यह आसान है, लेकिन क्या सी # संदर्भों के साथ ऐसा करने का कोई तरीका है?

+0

संभावित डुप्लिकेट [विशिष्ट रूप से डीबगर में संदर्भ प्रकारों की पहचान] [http://stackoverflow.com/questions/4251450/uniquely-identifying-reference-types-in-the-debugger) –

उत्तर

13

वास्तव में वॉच विंडो में ऑब्जेक्ट्स की तुलना करने के लिए एक निर्मित सुविधा है जिसमें आपको सीधे किसी भी फ़ंक्शन को कॉल करने की आवश्यकता नहीं होती है। यह रूप में सही क्लिक मेनू में है "वस्तु आईडी करें"

Make Object ID

यह एक आईडी के साथ वस्तु का प्रतीक होगा, और फिर आप के रूप में अच्छी तरह से एक दूसरी वस्तु जोड़ सकते हैं और एक आईडी के साथ चिह्नित कर सकते हैं। यदि वे ऑब्जेक्ट एक ही संदर्भ हैं, तो उनके पास एक ही आईडी होगी। यह आपको यह देखने की अनुमति देता है कि जब आप डीबगिंग करते हैं तो वे कब बदलते हैं।

+0

शानदार। यह मैं चाहता था कि यह बहुत आसान और करीब है। धन्यवाद। – GazTheDestroyer

+1

आईडी मूल्य कॉलम के दाएं हाथ के अंत में दिखाई देता है। आपको इसे देखने के लिए मूल्य कॉलम को व्यापक बनाने की आवश्यकता हो सकती है। –

5
object.ReferenceEquals(objA, objB) 
+0

यह नहीं पता था कि आप कॉल कर सकते हैं घड़ी खिड़की में काम करता है! धन्यवाद! – GazTheDestroyer