小编Use*_*402的帖子

通过呼叫代表来提高事件 - 为什么不通过事件名称?

我查看了一段旧代码,但无法理解以下内容:

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/

c# events

6
推荐指数
1
解决办法
60
查看次数

标签 统计

c# ×1

events ×1