2010-04-30 18 views
6

कोड का निम्न भाग पर विचार करें: my code http://i44.tinypic.com/28hhdw4.jpgदेखें वापसी मान

आप, वहाँ इस बिंदु पर समारोह की वापसी मूल्य को देखने के लिए कोई तरीका है देख सकते हैं हम लाइन 28 हैं कोड दे के बिना कॉलर फ़ंक्शन पर वापस आएं?

Foo.Bar() एक फ़ंक्शन कॉल है जो एक अद्वितीय पथ उत्पन्न करता है (उदाहरण के लिए)। तो यह स्थिर नहीं है।

में प्रवेश कर Foo.Bar() immidiate विंडो में, या तो काम नहीं करता है के बाद से है कि कोड का पुन: मूल्यांकन:

?Foo.Bar() 
"80857466" 
?Foo.Bar() 
"2146375101" 
?Foo.Bar() 
"1106609407" 
?Foo.Bar() 
"792759112" 

VB.NET में यह घड़ी, में समारोह का नाम दर्ज करके संभव है जो फिर इसे एक चर के रूप में खतरा होगा।

लेकिन सी # में यह संभव नहीं है, कोई अन्य सुझाव?

पीएस: पुनर्लेखन एक विकल्प नहीं है।

+2

yup .. बस Foo.Bar() का चयन करें और उस पर राइट क्लिक करें और त्वरित घड़ी के लिए जाएं। – Malcolm

+0

@ मैल्कम: त्वरित घड़ी पुनर्मूल्यांकन। आप 'बार() ' –

+0

पर निर्भर करते हुए एक अलग प्रतिक्रिया के साथ समाप्त हो सकते हैं, मैं आपके साथ डेविड से सहमत हूं लेकिन यदि वह टूटने के रूप में ब्रेकपॉइंट को नीचे वर्णित करता है तो यह काम करेगा। :) – Malcolm

उत्तर

3

जवाब मिला: VS get returned value in C# code?

यह वास्तव में दिख रहा है। डीबग + अन्य विंडोज + रजिस्टर्स। ईएक्स के मूल्य (x64 में आरएक्स) देखें। का मान सरल अभिन्न प्रकार ईएक्स रजिस्टर में वापस कर दिया जाता है। ईडीएक्स में लंबा: ईएक्स। एसटीएक्स में फ्लोटिंग पॉइंट (एक्स 64 एम एक्स 64)।

+2

हाँ, लेकिन क्या वस्तुओं के बारे में? – Snake

+0

आप सही हैं, वस्तुओं के लिए बहुत मदद नहीं करता है। आप उस रजिस्टर में संग्रहीत पते पर हमेशा क्वेरी मेमोरी जा सकते हैं लेकिन यह शायद ही आसान है! मुझे कोई विकल्प नहीं मिल रहा है, इसलिए मुझे लगता है कि इसे वापस करने से पहले एक चर में परिणाम संग्रहित करने पर आपको वापस गिरना होगा। लिंक के लिए लिंक किए गए SO प्रश्न के उत्तर देखें जहां आप एमएस से इसके बारे में कुछ करने के लिए कह सकते हैं। –

+0

ठीक है, धन्यवाद :) – Snake

2

मान लीजिए कि आप विजुअल स्टूडियो का उपयोग कर रहे हैं, तो आप Immediate window का उपयोग कर सकते हैं। यदि आप Foo.Bar() टाइप करते हैं; तत्काल खिड़की में आपको वह परिणाम मिलेगा जो आप बाद में प्राप्त करेंगे, यदि आप नहीं चाहते हैं कि यह उचित स्थान आईई में ब्रेक पॉइंट को फिर से मूल्यांकन करने के लिए पहले या फिर Foo.Bar() में मूल्यांकन करे।

संबंधित मुद्दे