|
Event from Visual Basic .NET Component.
C# 側で、Visual Basic .NET コンポーネントのイベントをどうやって受け取るか、という話。Visual Basic .NET のコンポーネント(クラス) は、こんな作りになってます。
Public Class Class1
Public Event Hoge()
Public Sub Test()
RaiseEvent Hoge()
End Sub
End Class
で、これを C#から使うときは、
this.c = new VBRaiseEventTest.Class1();
this.c.Hoge += new Class1.HogeEventHandler(this.Hoge);
private void Hoge()
{
MessageBox.Show("Hoge!");
}
こんな感じで。要するに、イベントと一緒です。Visual Basic .NET のクラスで
イベントを作成すると、「イベント名」 + 「EventHandler」という名前の Delegate
が作成されます。C# では、メソッドと Delegate を関連付けることにより、
イベントのハンドリングができるようになります。
|