質問

私は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) {
    ...
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top