gpt4 book ai didi

c# - 将具有多个事件参数的 VB.NET 事件转换为 C#

转载 作者:太空宇宙 更新时间:2023-11-03 20:43:48 24 4
gpt4 key购买 nike

我正在将用 VB.NET 编写的单元测试移植到用 C# 编写的较大项目。然而,这个小曲让我寻求帮助:

Public Sub object_DataChange(ByVal TransactionID As Integer, _
ByVal NumItems As Integer, _
ByRef ClientHandles As System.Array, _
ByRef ItemValues As System.Array, _
ByRef Qualities As System.Array, _
ByRef TimeStamps As System.Array) _
Handles myObject.DataChange

'' Does event code here
End Sub

转换此事件的最佳方式是什么?另外,这是使用 EventHandler<> 的好例子吗?将我的论点整合成一个结构?

最佳答案

在这种情况下,您实际上是在演示事件处理程序与事件。 C# 没有 Handles 子句概念 VB.NET有。相反,您必须手动为事件分配一个事件处理程序,如下所示:

myObject.DataChange += this.object_DataChange;

相应地,当您完成事件后,您应该像这样删除处理程序:

myObject.DataChange -= this.object_DataChange;

实际的事件处理程序可以翻译如下。

void object_DataChange(
int TransactionID,
int NumItems,
ref System.Array ClientHandles,
ref System.Array ItemValues,
ref System.Array Quantities,
ref System.Array TimeStamps) {
...
}

关于c# - 将具有多个事件参数的 VB.NET 事件转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1563208/

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