“Action<object?, EventArgs>”和“EventHandler(object?sender, EventArgs e)”有什么区别?

问题描述 投票:0回答:1
public delegate void Action<object?, EventArgs>(object? sender, EventArgs e);

public delegate void EventHandler(object? sender, EventArgs e);

这两行有什么区别?它们在功能上似乎是相同的。

c# events event-handling delegates
1个回答
0
投票

事实上,没有什么区别:

EventHandler a;
Action<object?, EventArgs> b;

void c(object? o, EventArgs e) { }

void d() {
    a = c; b = c; // no error
}
© www.soinside.com 2019 - 2024. All rights reserved.