订阅活动时执行功能

时间:2014-03-18 11:26:48

标签: c# events

当有人订阅我在课堂上制作的活动时,是否可以执行某些代码。一个简短的explenation:当有人订阅这个事件时,我需要配置一个外部PC来向我发送数据,所以当收到这个数据时我可以抛出这个事件。

public class test
        {
            public event EventHandler myEvent;

            private void Method1()
            { 
                //this needs to be executed when someone subscribes to the event
            }

            private void Method2()
            {
                //this needs to be executed when someone unsubscribes to the event
            }
        }

1 个答案:

答案 0 :(得分:2)

您可以创建add / remove方法

 private EventHandler myEvent;
    public event EventHandler MyEvent {
        add {
            myEvent += value;
            if(myEvent != null) ExecuteCode();
        }
        remove {
            myEvent -= value;
        }
    }

如果您的函数应该是线程安全的,请注意,在这种情况下,您需要锁定以确保它是同步的。