instantiating मैं कुछ आभासी कार्यों के साथ एक वर्ग है, के लिए बहाना यह उनमें से एक है करते हैं:अधिभावी आभासी तरीकों जब एक वर्ग
public class AClassWhatever
{
protected virtual string DoAThingToAString(string inputString)
{
return inputString + "blah";
}
}
मैं इस वर्ग का दृष्टांत करना चाहते हैं, जबकि अधिभावी इनलाइन "DoAThingToAString", ज्यादा मैं की तरह एक घोषणा में इनलाइन गुण घोषणा कर सकते हैं इस प्रकार है:
...
AClassWhatever instance = new AClassWhatever
{
DoAThingToAString = new function(string inputString)
{
return inputString + inputString + " fill my eyes."
}
}
...
और अब "उदाहरण के लिए", DoAThingToAString कि परिभाषा के साथ अधिरोहित है। मुझे कक्षा परिभाषा में डिफ़ॉल्ट व्यवहार को परिभाषित करने में सक्षम होना चाहिए और इसे केवल अलग-अलग अलग-अलग समय के रूप में ओवरराइड करना होगा, और मैं ऐसा करने के लिए उप-वर्गों के समूह को बढ़ाना नहीं चाहता हूं।
मुझे पता है कि मुझे प्रतिनिधियों या कुछ समान उपयोग करने की आवश्यकता है, लेकिन मैं बहुत लंबे समय तक वाक्यविन्यास गेम से बाहर हूं और Google मुझे बहुत अधिक अप्रासंगिक जानकारी दे रहा है।
इस वाक्य रचना मैं था खोज रहे हैं, लेकिन बेवकूफ सवाल। DoAThingToAString में, मैं एक नियंत्रक विस्तार विधि का उपयोग कर रहा हूं जिसे नियंत्रक क्रिया से कहा जाता है: 'यह .DEExtensionMethod (someString);' अब मेरे पास अब "इस" का संदर्भ नहीं है कि मैं Func के अंदर हूं परिभाषा। क्या कॉलर का संदर्भ पाने का कोई तरीका है, या क्या मुझे इसे अपने अन्य इनपुट के साथ पास करना होगा? – kamii
@ कमी, आपको ऑब्जेक्ट, या किसी अन्य विशिष्ट मूल्यों के संदर्भ में आपको पास करना होगा। यह एक अनाम कार्य है, इसलिए इसे उदाहरण का कोई अंदाजा नहीं है। (कृपया मुझे जांचें)। – gunr2171