gpt4 book ai didi

c# - 显式使用 "new EventHandler"声明有好处吗?

转载 作者:太空狗 更新时间:2023-10-29 18:02:22 25 4
gpt4 key购买 nike

例如,在将事件处理程序分配给诸如上下文 MenuItem 之类的东西时,有两种可接受的语法:

MenuItem item = new MenuItem("Open Image", btnOpenImage_Click);

...和...

MenuItem item = new MenuItem("Open Image", new EventHandler(btnOpenImage_Click));

我还注意到同样适用于此:

listView.ItemClick += listView_ItemClick;

...和...

listView.ItemClick += new ItemClickEventHandler(listView_ItemClick);

第二个(明确的)比第一个有什么特别的优势吗?或者这更像是一个文体问题?

最佳答案

在 C# 1.0 中,您别无选择,只能显式定义委托(delegate)类型和目标。

从 C# 2.0 开始,编译器允许您通过从方法组到兼容委托(delegate)类型的隐式转换,以更简洁的方式表达自己。它实际上只是语法糖。

有时,如果由于歧义而无法从方法组解析正确的重载,您别无选择,只能使用冗长的语法。

关于c# - 显式使用 "new EventHandler"声明有好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17448305/

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