gpt4 book ai didi

c# - 为每个可能的事件定义事件处理程序背后的原因是什么,即使它们没有被使用?

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

我在一个我应该更新的应用程序中发现了一些代码,它为控件的每个 可能事件定义了一个事件处理程序(或者至少是设计器中列出的所有事件,来 self 能说的)。我以前从未见过这种情况,也不想在我的任何应用程序中实现它。

一个例子;启动日志记录操作的按钮在 Click 上开始操作。但是,所有其他事件处理程序也被绑定(bind),从 AutoSizeChangedBackColorChanged 一直到 VisibleChanged验证。除了 Click 之外,所有事件处理程序都是空的。到目前为止,据我所知,整个应用程序中的许多控件都会发生这种情况。

也没有提供详细说明为什么会出现这种情况的评论。为什么要这样做?

最佳答案

With the exception of Click, all event handlers are empty. From what I can tell so far, this happens with many controls throughout the application.

Why would this be done?

很有可能是原作者没明白没必要。

这样做没有充分的技术理由。它实际上只会降低性能,而不会带来任何好处。

请注意,许多人在他们自己的类上创建事件时,通常会订阅一个空的事件处理程序。这样他们就可以避免对订阅列表进行空检查。我怀疑这样做是为了防止这种情况被误导,即使它通常是在事件发布端完成的,而不是等式的订阅端。

关于c# - 为每个可能的事件定义事件处理程序背后的原因是什么,即使它们没有被使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11834227/

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