我在移栽写入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#没有 VB.NET 具有的Handles条款的概念。相反,你必须手动分配事件处理程序,像这样的事件:

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) {
    ...
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top