public delegate void SecondChangedHandler(
object clock,
TimeInfoEventArgs timeInformation);
public event SecondChangedHandler SecondChanged;
Run Code Online (Sandbox Code Playgroud)
我根据这篇文章写了一个时钟.现在,如果我删除事件关键字,我得到相同的结果,那么事件真正做了什么?
Joe*_*oel 12
它的编译方式不同.它让人无法做到
mySecondChangedHandler.SecondChanged = SomeMethod(...); //overwrite
mySecondChangedHandler.SecondChanged(...); //invoke
Run Code Online (Sandbox Code Playgroud)
但是只有
mySecondChangedHandler.SecondChanged += SomeMethod(...);
mySecondChangedHandler.SecondChanged -= SomeMethod(...);
Run Code Online (Sandbox Code Playgroud)