विरासत से अभिभावक वर्ग वर्चुअल विधि एक्सेस करें मैं जानना चाहता हूं कि विरासत वर्ग (जो विधि को ओवरराइड करता है) का उपयोग कर बेस वर्चुअल विधि तक पहुंच बनाना संभव है या नहीं।चाइल्ड क्लास ऑब्जेक्ट
मुझे पता है कि यह एक अच्छा अभ्यास नहीं है, लेकिन कारण यह है कि मैं यह जानना चाहता हूं कि यह तकनीकी रूप से संभव है। मैं जिज्ञासा से बाहर पूछकर, इस तरह के अभ्यास का पालन नहीं करता हूं।
मैंने कुछ समान प्रश्न देखे लेकिन मुझे वह जवाब नहीं मिला जो मैं ढूंढ रहा हूं।
उदाहरण:
public class Parent
{
public virtual void Print()
{
Console.WriteLine("Print in Parent");
}
}
public class Child : Parent
{
public override void Print()
{
Console.WriteLine("Print in Child");
}
}
class Program
{
static void Main(string[] args)
{
Child c = new Child();
//or Parent child = new Child();
child.Print(); //Calls Child class method
((Parent)c).Print(); //Want Parent class method call
}
}
कृपया downvotes समझाने। स्टैक ओवरफ्लो पर मौजूदा समान प्रश्न (संतोषजनक उत्तर के साथ) का कोई भी लिंक स्वीकार्य उत्तर है। धन्यवाद।
मैं वस्तुतः एक ही सवाल कल यहां उत्तर दिया,; http://stackoverflow.com/questions/14491513/calling-both-base-and-derived-methods/14491581#14491581 –
स्पष्ट रूप से अभिभावक वर्ग प्रिंट() विधि को कॉल करें। जाहिर है, जैसा कि आपने नोट किया है, यह आर्किटेक्चर पॉलिमॉर्फिक व्यवहार को उलट करने के प्रयास में है - बुद्धिमान –
@ आदित्यसिहग नहीं; यह ओवरराइड तरीकों के लिए काम नहीं करता है। ऊपर दिए गए लिंक के अनुसार केवल 'नया'। –