したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

デリゲート入門のサンプルコードで質問

1はまじ:2009/01/14(水) 11:36:45
プログラミング初心者ですが、VBでRS-232C通信をしたいと勉強しています。
こちらのサイトも参考にさせていただいており、助かっています。
質問させていただきたいのですが、デリゲート入門の例の中に

Dim dlg As New MyDelegate(AddressOf SetText)

とありますが、他のサイトの例を真似ると

Dim dlg As MyDelegate = AddressOf SetText

と書き換えることができて、ちゃんと動きました。
これは、"NEW"を省略してもインスタンスが作れるということでしょうか。
よろしくお願いいたします。

2igoten:2009/01/14(水) 22:31:56
返事が遅れてごめんなさい。
Dim dlg As New MyDelegate(AddressOf SetText)
Dim dlg As MyDelegate = AddressOf SetText
はどちらでも良いのですね。
http://msdn.microsoft.com/ja-jp/library/y72ewk2b(VS.80).aspx
ここに書いてありますが、AddressOf 演算子が特別な働きをします、つまり
「特定のプロシージャを参照するプロシージャ デリゲート インスタンスを作成します。」
と言うことです。
私の場合はC#から書き換えていますので、デリゲートクラスを意識した書き方に
なっています。

3はまじ:2009/01/15(木) 13:23:39
igotenさん、ありがとうございます。
AddressOfが特別なんですね。
私もNewを使う書き方にします。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板