gpt4 book ai didi

c# - 为什么在添加到按钮的 Click 事件时创建一个新的 RoutedEventHandler?

转载 作者:行者123 更新时间:2023-11-30 22:24:21 26 4
gpt4 key购买 nike

有什么区别:

this.btnConnect.Click += btnConnect_Click;

和:

this.btnConnect.Click += new RoutedEventHandler(btnConnect_Click);

这两种方式似乎都一样,但 Visual Studio IntelliSense 插入了第二个示例,我很好奇为什么。

我最初的猜测是,使用 IntelliSense 版本可以让每个按钮调用它自己的 RoutedEventHandler 实例,使其成为线程安全的?使用第一个示例,每个按钮都会调用该方法的同一个实例,并且它们可能会踩到彼此的脚。

最佳答案

这是一回事,第一个只是一个语法糖,即编译器为两者生成相同的 IL 字节码——总是创建一个委托(delegate)实例。

IIRC,C# 的第一个版本不允许第一个语法,它是在 C# 2.0 中引入的。

关于c# - 为什么在添加到按钮的 Click 事件时创建一个新的 RoutedEventHandler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809241/

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