वहाँ में सूचित किए जाने के किसी भी तरह से जब कुछ मेरी कक्षा में एक घटना का सदस्य बनता, या मैं तरीकों में सदस्यता/unsubsription लपेटो करने की आवश्यकता है है जैसे:किसी घटना/प्रतिनिधि के लिए सदस्यता लेने पर अधिसूचित होने का कोई तरीका?
public class MyClass : ISomeInterface
{
public event SomeEventHandler SomeEvent; //How do I know when something subscribes?
private void OnSomeEventSubscription(SomeEventHandler handler)
{
//do some work
}
private void OnSomeEventUnsubscription(SomeEventHandler handler)
{
//do some work
}
}
बजाय
public class MyClass : ISomeInterface
{
private SomeEventHandler _someEvent;
public void SubscribeToSomeEvent(SomeEventHandler handler)
{
_someEvent += handler;
//do some work
}
public void UnsubscribeFromSomeEvent(SomeEventHandler handler)
{
_someEvent -= handler;
//do some work
}
}
कारण मैं पूछता हूं क्योंकि यह घटना पहले से ही ISomeInterface
पर उजागर हो चुकी है, लेकिन इस विशेष कार्यान्वयन को यह जानने की आवश्यकता है कि सामान सब्सक्राइब/सदस्यता समाप्त करते समय।
ध्यान दें कि यह कोड घटना सदस्यता के साथ threadsafe नहीं है। इसे प्राप्त करने का एक आसान तरीका '_someEvent' को ईवेंट के रूप में भी चिह्नित कर रहा है। – CodesInChaos
शानदार, धन्यवाद! – GazTheDestroyer