gpt4 book ai didi

c# - 我应该使用 EventArgs 还是简单的数据类型?

转载 作者:太空狗 更新时间:2023-10-29 20:59:34 24 4
gpt4 key购买 nike

我目前正在创建一个用于娱乐和练习的库,我想知道在引发事件时,如何在传递您自己的 EventArgs 派生值或仅传递数据类型之间进行选择。

例如,在我的图书馆中,我有这样的东西:

public delegate void LostConnectionEventHandler(string address);
public delegate void MessageReceieved(byte[] bytes);

这方面的标准做法是什么?我应该将 string address 替换为 ConnectionEventArgs 并将 byte[] bytes 替换为 MessageEventArgs 吗?

我知道其中任何一个都工作得很好,这个问题可能是主观的,但我仍然很好奇高级程序员在决定是否包含他们自己的 EventArgs 或只是直接传递数据时所经历的思考过程。

谢谢!

最佳答案

The .NET Framework guidelines indicate that the delegate type used for an event should take two parameters, an "object source" parameter indicating the source of the event, and an "e" parameter that encapsulates any additional information about the event. The type of the "e" parameter should derive from the EventArgs class. For events that do not use any additional information, the .NET Framework has already defined an appropriate delegate type: EventHandler.

引用:http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx

另一个有用的信息:http://msdn.microsoft.com/en-us/library/ms229011.aspx

关于c# - 我应该使用 EventArgs 还是简单的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7547211/

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