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上,但是这个特定的实现需要知道什么时候订阅/取消订阅.
解决方法 您可以为您的活动编写自定义访问者:private SomeEventHandler _someEvent;public event SomeEventHandler SomeEvent{ add { _someEvent += value; Console.Writeline("Someone subscribed to SomeEvent"); } remove { _someEvent -= value; Console.Writeline("Someone unsubscribed from SomeEvent"); }}总结
以上是内存溢出为你收集整理的c# – 有什么方法可以在订阅某个活动/代表时收到通知?全部内容,希望文章能够帮你解决c# – 有什么方法可以在订阅某个活动/代表时收到通知?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)