2011-08-05 15 views
14

मैं वर्तमान में शुरुआती दृश्य सी # 2010 नामक पुस्तक के साथ सी # सीख रहा हूं और मैं अध्याय में हूं जो आंशिक तरीकों और वर्गों के विभिन्न पहलुओं और विशेषताओं पर चर्चा करता है।आंशिक तरीकों को शून्य क्यों किया जाना चाहिए?

पुस्तक के शब्दों में:

इस बिंदु पर विचार करें क्यों आंशिक तरीकों एक वापसी प्रकार नहीं हो सकता। आप अपने खुद संतुष्टि के लिए है कि जवाब कर सकते हैं, तो आप यह सुनिश्चित करें कि आप पूरी तरह से इस विषय को समझने के हो सकते हैं - ताकि आप के लिए एक व्यायाम के रूप में छोड़ दिया जाता है "

यह वह जगह है जहाँ मैं अटक जाते हैं एकमात्र कारण।। कि मैं सोच सकता हूं कि जब विधि के वापसी मूल्य को कोड में कुछ सौंपा गया है, तो आंशिक विधि के लिए कोई परिभाषा लागू नहीं की गई है, तो यह त्रुटि उत्पन्न होगी।

क्या कोई मेरे लिए इस विषय को साफ़ कर सकता है?

+2

हाँ, आप सही कर रहे हैं, यही वजह है कि :) –

+0

है है तो उसे एक डुप्लीकेट, http://stackoverflow.com/q/2088265/659190 – Jodrell

+0

@ जोडरेल नहीं, जबकि यह प्रश्न दूसरे में फ़ीड कर सकता है, दूसरा एक निश्चित रूप से व्यापक है (और यह इस विशिष्ट प्रश्न का सबसे पुराना संस्करण है जिसे मैं देख सकता हूं) –

उत्तर

18

क्योंकि कॉल करने वाले कोड से उन्हें कॉल नहीं किया जा सकता है अगर वे लागू नहीं हैं इसे तोड़ने के बिना टेड।

उदाहरण:

partial void foo(); 
partial int bar(); 

कोड कॉलिंग:

... 
foo(); // successfully removed if foo isn't implemented 
int x = bar() * 2; // what to do here? 
Console.WriteLine(x); 
+2

वही है जो 'सशर्त एट्रिब्यूट' से सजाए गए तरीकों के लिए जाता है। – leppie

+0

धन्यवाद, ऐसा लगता है कि मैं अपने आप पर भी कम या ज्यादा सही था। – Gasoline

+0

@ जोड्रेल, वे एक दूसरे के मूल्यांकन को प्रभावित नहीं करते हैं, वे दोनों किसी अन्य कॉलिंग कोड के बिंदु से जांच की जाती हैं। – Grozz

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