के रूप में प्रतिनिधि को पास करना मैं वर्तमान में एक ईवेंट मैनेजर क्लास विकसित कर रहा हूं ताकि यह सुनिश्चित किया जा सके कि मृत डब्ल्यूसीएफ डुप्लेक्स ग्राहकों को कोई भी घटना नहीं छोड़ी जा सके, और एक ही ग्राहक से एक ही घटना में कई तारों को रोकने के लिए भी।विधि पैरामीटर
अब मूल रूप से, मैं अटक गया हूं कि घटना प्रतिनिधि को ऐसे फ़ंक्शन में पास करने का प्रयास कर रहा है जो इस तरह के असाइनमेंट को नियंत्रित करेगा।
var handler = new SomeEventHandler(MyHandler);
Wire(myObject.SomeEventDelegate, handler);
इस कॉल करने के लिए:
private void Wire(Delegate eventDelegate, Delegate handler)
{
// Pre validate the subscription.
eventDelegate = Delegate.Combine(eventDelegate, handler);
// Post actions (storing subscribed event delegates in a list)
}
अद्यतन
SomeEventDelegate आवरण के लिए कोड है:
public Delegate SomeEventDelegate
{
get { return SomeEvent; }
set { SomeEvent = (SomeEventHandler) value; }
}
event SomeEventHandler SomeEvent;
जाहिर प्रतिनिधि myObject को वापस नहीं किया जा रहा है। SomeEventDelegate और मैं इस विधि से प्रतिनिधि को वापस नहीं कर सकता क्योंकि मुझे इसके बाद कुछ सत्यापन की आवश्यकता है। क्या आपको यह करने का कोई विचार है कि यह कैसे करें?
आप + = – Andrey
सी # घटनाओं आप के लिए एक छिपे हुए प्रतिनिधि उत्पन्न का उपयोग कर प्रतिनिधियों को जोड़ सकते हैं। इस घटना तक पहुंचने के लिए, देखें: http://stackoverflow.com/questions/1129517/c-how-to-find-if-an-event-is-hooked-up/1129530#1129530। –
http://izlooite.blogspot.com/2011/02/delegates-vs-methods.html –