当有人订阅我在课堂上制作的活动时,是否可以执行某些代码。一个简短的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
}
}
答案 0 :(得分:2)
您可以创建add
/ remove
方法
private EventHandler myEvent;
public event EventHandler MyEvent {
add {
myEvent += value;
if(myEvent != null) ExecuteCode();
}
remove {
myEvent -= value;
}
}
如果您的函数应该是线程安全的,请注意,在这种情况下,您需要锁定以确保它是同步的。