彼の記事について質問があります。
ソースコードをVb.netに変換しましたが、この行に問題があります。
var handler = MyEvent
この行をVB.netに変換するのを手伝ってくれる人はいますか?
var handler = MyEvent;
if (handler == null)
{
Console.WriteLine("No listeners");
return;
}
に翻訳することができます
Dim handler = MyEventEvent
If handler Is Nothing
Console.WriteLine("No listeners")
Return
End If
基になるデリゲートにアクセスするには、Custom キーワードを使用してカスタム イベントを宣言する必要があります。このMSDN ライブラリの記事で詳しく説明されています。
このような例外をキャッチすることは非常に賢明ではないことに注意してください。例外をキャッチするには、イベントがまったく発生しなかったかのように、プログラムの状態を復元する必要があります。変更を元に戻すと、部分的に実行されたコードが作成されました。これはイベントでは不可能であり、イベントのコントラクトで暗示されているのは、イベントのハンドラーをサブスクライブしたコードについて何も知らないということです。これは、状態を復元することは完全に不可能であることを意味します。catch ブロックは、イベントを発生させるコードではなく、イベント ハンドラーに表示する必要があります。このブロガーがあなたに与えようとしているアドバイスを無視してください。
どちらかになると思います
Dim handler As EventHandler = MyEvent
また
Dim handler As EventHandler = AddressOf MyEvent