我查看了一段旧代码,但无法理解以下内容:
public event EventHandler NameChanged;
#endregion
#region protected void OnNameChanged(EventArgs args)
/// <summary>
/// Raises NameChanged event.
/// </summary>
/// <param name="args">Event arguments.</param>
protected void OnNameChanged(EventArgs args)
{
EventHandler eh = this.NameChanged;
if (eh != null)
{
eh(this, args);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么通过调用委托来引发事件?难道我不能像往常一样简单地调用事件本身(NameChanged)吗?
编辑:我可以在MSDN上看到这也是建议:https://docs.microsoft.com/en-us/dotnet/standard/events/