Reputation: 3894
I'm in the process of transplanting a unit test written in VB.NET to the larger project written in C#. However, this little ditty has me looking for help:
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
What is the best way to convert this event? Also, is this a good instance to use EventHandler<>
to consolidate my arguments into a structure?
Upvotes: 1
Views: 480
Reputation: 755457
In this case, you're actually demonstrating an event handler vs. an event. C# does not have the Handles
clause notion that VB.NET has. Instead you must manually assign an event handler to an event like so:
myObject.DataChange += this.object_DataChange;
And correspondingly, when you're done with the event you should remove the handler like so:
myObject.DataChange -= this.object_DataChange;
The actual event handler can be translated as follows.
void object_DataChange(
int TransactionID,
int NumItems,
ref System.Array ClientHandles,
ref System.Array ItemValues,
ref System.Array Quantities,
ref System.Array TimeStamps) {
...
}
Upvotes: 5