मुझे उम्मीद है कि इस तरह की "पहेली" प्रोग्रामिंग पहेलियाँ और कोड गोल्फ में ऑनटॉपिक है।
ऐसी स्थिति का उदाहरण दें जहां C # विधि रिटर्न केfalse
नीचे है :
public class Giraffe : Animal
{
public bool Test()
{
return this is Giraffe;
}
}
नियम: ऊपर दी गई कोड लाइनें किसी भी तरह से नहीं बदली जानी चाहिए, लेकिन आप कोड को एक एप्लिकेशन में डाल देंगे ताकि "प्रोजेक्ट" संकलित हो और विधि को कॉल किया जाए। जब चलाते हैं, तो विधि लौटना चाहिए false
। मेरे मन में जो समाधान है, वह रन-टाइम या इसी तरह की "विदेशी" चीजों पर अपने आईएल का उत्सर्जन नहीं करता है, यह एक सामान्य उदाहरण विधि कॉल है।
Animal giraffe = new Giraffe(); giraffe.Test();
और मूल वर्ग Animal
में एक Test()
विधि है जो वापस आती है false
। यह थोड़ा धोखा दे रहा है क्योंकि यह मूल वर्ग विधि को कॉल करने के बजाय है Giraffe
। लेकिन कॉल साइट एक ही लगती है।
false
, इसलिए मैं यह नहीं कहूंगा कि यह एक पूर्ण समाधान था। लेकिन फिर भी दिलचस्प है। मेरे समाधान में कोई भी विधि छिपाना (संकेत) नहीं है, लेकिन जैसा कि मैंने कहा, अन्य समाधान भी दिलचस्प हो सकते हैं।
Giraffe giraffe = new Giraffe(); giraffe.Test();
होना चाहिए ताकि उस विधि की रेखा वास्तव में निष्पादित हो जाए?