gpt4 book ai didi

c# - 为什么这些参数是事件的默认值?

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

我看到以下参数在样板代码中重复了很多,但我似乎还没有使用它们?

(object sender, EventArgs e)

例如,如果我双击一个新按钮,那么事件的方法就会有这些参数,但是当我向方法添加代码时,我不会使用这些参数。

它们是什么,我什么时候使用它们?

最佳答案

发送者是事件的发起者 - 例如,您可能有多个按钮使用相同的点击处理程序,并且您想要禁用任何一个被点击的按钮。当然,如果您仅使用事件处理程序来订阅单个源的事件,它就不是很有用。

EventArgs 本身毫无意义,因为它没有任何信息 - 但它被用作其他确实有信息(例如键盘和鼠标信息)的类的基类).让它存在的好处是,如果您不需要需要额外的信息,您可以创建一个事件处理程序,它可用于订阅任何遵循模式的事件。例如:

button.Click += LogEvent;     // EventHandler delegate type
textArea.KeyDown += LogEvent; // KeyEventHandler delegate type

...

private static void LogEvent(object sender, EventArgs ignored)
{
Control control = (Control) sender;
Log("Event fired by " + control.Name);
}

关于c# - 为什么这些参数是事件的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10409181/

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