कहो मैं एक सार माता पिता वर्ग "पिता" कहा जाता है कि एक विधि "DisplayTitle" कहा जाता है को लागू करता है अधिलेखित करने से एक सी # उपवर्ग की रोकथाम। मैं इस विधि प्रत्येक उपवर्ग कि "पिता" विरासत के लिए एक ही रहना चाहता हूँ - मैं एक संकलन त्रुटि चाहते हैं, तो एक उपवर्ग अपने स्वयं के "DisplayTitle" विधि लागू करने के लिए प्रयास करता है। मैं इसे सी # में कैसे पूरा कर सकता हूं। मैं जावा में विश्वास करता हूं, मैं बस विधि को "अंतिम" के रूप में चिह्नित करता हूं, लेकिन मुझे सी # में कोई विकल्प नहीं दिख रहा है। मैं "मुहरबंद" और "ओवरराइड" के साथ घूम रहा हूं, लेकिन मुझे वह व्यवहार नहीं मिल रहा है जिसे मैं ढूंढ रहा हूं।एक विधि
उदाहरण के लिए, इस कोड में:
using System;
namespace ConsoleApplication1
{
class Parent
{
public void DisplayTitle() { Console.WriteLine("Parent's Title"); }
}
class ChildSubclass : Parent
{
public void DisplayTitle() { Console.WriteLine("Child's Own Implementation of Title");
}
static void Main(string[] args)
{
ChildSubclass myChild = new ChildSubclass();
myChild.DisplayTitle();
Console.ReadLine();
}
}
}
मैं कह रही है कि "ChildSubClass" "DisplayTitle" ओवरराइड नहीं कर सकते एक संकलन त्रुटि प्राप्त करना चाहते हैं। मुझे वर्तमान में एक चेतावनी मिलती है - लेकिन ऐसा लगता है कि ऐसा कुछ ऐसा है जो मुझे करने में सक्षम होना चाहिए और मुझे विधि लेबल करने के लिए उचित विशेषताओं को नहीं पता है।
मुझे लगता है कि मेरी असली चिंता आकस्मिक दुरुपयोग होगी। मेरे पास एक अन्य प्रोजेक्ट में एक अमूर्त वर्ग है जिसमें "टर्नऑन" और "टर्नऑफ" विधि है। विवरण में बहुत अधिक प्राप्त किए बिना - यह वर्ग असली दुनिया वस्तुओं का प्रतिनिधित्व करने के लिए कई बार उप-वर्ग होने जा रहा है। हालांकि, इन सभी उपकरणों को उसी तरह चालू और बंद कर दिया जाएगा। मैं सिर्फ खुद को या किसी और को अपने स्वयं के बंद करने/किसी भी प्रकार की चेतावनी के बिना अलग-अलग उपकरणों के लिए कमांड को चालू करने का प्रयास नहीं करना चाहता हूं। – user1720817
@ user1720817: ठीक है * एक चेतावनी होगी *। मैं आपके नमूने कोड से चेतावनी को अपने उत्तर में संपादित करूंगा ... –
हाँ, एक चेतावनी है :) यह सिर्फ मेरी ओसीडी है जो मुझे यह संकलन समय त्रुटि बनना चाहता है। इसे लिखने के लिए समय निकालने के लिए धन्यवाद! – user1720817