![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
コールバック関数を実行するのに、わざわざイベントを使う利点は何でしょうか。
下記のコードでは、どちらでも大して変わらないように見えますが・・・
Module modMain
Sub Main()
Dim myRaise As clsMyRaiseEvent = New clsMyRaiseEvent
'イベントを使った使用法
AddHandler myRaise.MyEvent, New clsMyRaiseEvent.dlgMyEvent(AddressOf MyCallBack)
myRaise.Test1()
'関数ポインタ的な使用法
myRaise.callback = New clsMyRaiseEvent.dlgMyEvent(AddressOf MyCallBack)
myRaise.Test2()
Console.ReadLine()
End Sub
'コールバック関数
Private Sub MyCallBack(ByVal aEx As Exception)
Console.WriteLine("Called")
End Sub
End Module
Public Class clsMyRaiseEvent
Public Delegate Sub dlgMyEvent(ByVal aEx As Exception)
Public Event MyEvent As dlgMyEvent 'デリゲート型のイベント
Public callback As dlgMyEvent
Public Sub Test1()
RaiseEvent MyEvent(New Exception)
End Sub
Public Sub Test2()
callback(New Exception)
End Sub
End Class
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
DLL内のイベントをハンドリング
-
クラスの実体を一つにする方法
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
Excelシート上のマクロを登録し...
-
VBA エンターキーでイベントに...
-
リストボックスの選択解除
-
メルカリのメルカードで買い物...
-
UPS警告音を止めたい
-
「PC Helpsoft Driver Updated...
-
エクセルの画面にユーザーフォ...
-
レジ返品交換について(時間がか...
-
UMLでの例外処理
-
switch の範囲指定
-
エクセルVBAで、MsgBox やInput...
-
【Excel】特定の文字を含むセル...
-
Loadイベント中にほかのイベン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
[C#]FormクラスのShowメソッド...
-
DLL内のイベントをハンドリング
-
C#のインスタンスを参照渡ししたい
-
[swift]動的なキーを持つJSONの...
-
Try~Catch、Finallyについて。
-
objective-C(Xcode)に関して...
-
Graphicsプロパティ
-
vb.net フォームアプリケーシ...
-
OCXのメソッドの引数に文字列を...
-
コールバックでイベントを使う...
-
フィールド(メンバ変数)のプリ...
-
objective-cにはCのような関数...
-
VB.NET スプラッシュスクリー...
-
クラスの実体を一つにする方法
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
エクセルVBAで、MsgBox やInput...
おすすめ情報