Любой способ получить уведомление, когда что-то подписывается на событие / делегат?

Есть ли способ получить уведомление, когда что-то подписывается на событие в моем классе, или мне нужно обернуть подписку / отказ от подписки в методах, например:

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 , но эта конкретная реализация должна знать, когда материал подписывается / отписывается.

7
задан GazTheDestroyer 6 February 2012 в 10:41
поделиться