C#への複数のイベント引数と変換のVB.NETイベント
-
21-09-2019 - |
質問
私はC#で書かれた大きなプロジェクトにVB.NETで書かれたユニットテストを移植する過程にいますよ。しかし、この小さな小唄は私が助けを探しています:
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) {
...
}
所属していません StackOverflow