c# – 有什么方法可以在订阅某个活动/代表时收到通知?
发布时间:2020-12-15 07:54:10 所属栏目:百科 来源:网络整理
导读:有什么方法可以在我的课程中订阅某个事件时收到通知,或者我是否需要在方法中包含订阅/取消订阅,例如: public class MyClass : ISomeInterface{ public event SomeEventHandler SomeEvent; //How do I know when something subscribes? private void OnSomeE
有什么方法可以在我的课程中订阅某个事件时收到通知,或者我是否需要在方法中包含订阅/取消订阅,例如:
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"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |