gpt4 book ai didi

c# - 自定义 EventHandler 与 EventHandler

转载 作者:IT王子 更新时间:2023-10-29 03:44:09 28 4
gpt4 key购买 nike

最近一直在想这段代码有没有什么显着的区别:

public event EventHandler<MyEventArgs> SomeEvent;

还有这个:

public delegate void MyEventHandler(object sender, MyEventArgs e);
public event MyEventHandler SomeEvent;

他们都做同样的事情,我无法分辨出任何区别。尽管我注意到大多数 .NET Framework 类都为其事件使用自定义事件处理程序委托(delegate)。这有什么具体原因吗?

最佳答案

你是对的;他们做同样的事情。因此,您可能应该更喜欢前者而不是后者,因为它更清晰并且需要更少的输入。

许多 .NET Framework 类具有自己的自定义事件处理程序委托(delegate)的原因是因为它们是在 2.0 版中引入泛型(允许使用简写语法)之前编写的。例如,几乎所有的 WinForms 库都是在泛型之前编写的,而在那个时候,后一种形式是唯一的做事方式。

关于c# - 自定义 EventHandler 与 EventHandler<EventArgs>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8668083/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com