में टाइपपीफ के समतुल्य क्या सी # में एक टाइपिफ़ समतुल्य है, या किसी तरह का व्यवहार करने के लिए किसी तरह का तरीका है? मैंने कुछ googling किया है, लेकिन हर जगह मैं नकारात्मक लगता है। वर्तमान में मैं एक स्थिति निम्न के समान है:सी #
class GenericClass<T>
{
public event EventHandler<EventData> MyEvent;
public class EventData : EventArgs { /* snip */ }
// ... snip
}
अब, यह एक रॉकेट वैज्ञानिक जब कोशिश कर नहीं ले करता है यह पता लगाने की (भयानक यमक के लिए क्षमा याचना) है कि इस बहुत जल्दी लिखने का बहुत बढ़ सकता है उस घटना के लिए एक हैंडलर लागू करने के लिए। , मैं पहले से ही जटिल प्रकार, न सिर्फ एक पूर्णांक उपयोग कर रहा था
GenericClass<int> gcInt = new GenericClass<int>;
gcInt.MyEvent += new EventHandler<GenericClass<int>.EventData>(gcInt_MyEvent);
// ...
private void gcInt_MyEvent(object sender, GenericClass<int>.EventData e)
{
throw new NotImplementedException();
}
छोड़कर, मेरे मामले में: यह कुछ इस तरह किया जा रहा है पहुंचते हैं। यह अच्छा होगा अगर इसे थोड़ा सा सरल बनाना संभव हो ...
संपादित करें: यानी। संभवतः इवेंट हैंडलर को टाइप करने के बजाय इसे समान व्यवहार प्राप्त करने के लिए इसे फिर से परिभाषित करने की आवश्यकता है।
मैं हमेशा भूल जाता हूं कि आप यह कर सकते हैं। शायद क्योंकि विजुअल स्टूडियो अधिक वर्बोज संस्करण का सुझाव देता है। लेकिन मैं टैब दबाने दो बार के बजाय हैंडलर नाम टाइप के साथ ठीक हूँ, मेरे अनुभव में) – OregonGhost
(जो दुर्लभ है), तो आप उदाहरण के लिए, पूरी तरह से योग्य प्रकार नाम निर्दिष्ट करने के लिए है: 'का उपयोग कर MyClassDictionary = System.Collections। Generic.Dictionary; ' क्या यह सही है? अन्यथा यह उपरोक्त 'उपयोग' परिभाषाओं पर विचार नहीं करता है। –
tunnuz
@tunnuz: हाँ, आप सही हैं - मैं जवाब अपडेट कर दूंगा। –