DOBON.NET DOBON.NETプログラミング掲示板過去ログ

delegate をC#2005→VB2005 で移植

環境/言語:[VB2005]
分類:[.NET]

簡単に記述してしまいますが、

Public Sub StartJob(mData string )

 Button button = new Button(引数郡,mData)
 button.OnClick += delegate ( 引数郡,mData) {
    'mData を使用した処理          
 }
}

となるよーな関数があるとします。
通常VBでdelegateを使う場合は、関数外(ここではStartJob)で予め差し替える関数を記述しますが
関数内で記述する場合はどうすればいいのでしょうか?
■No18938に返信(たにまちさんの記事)

>   button.OnClick += delegate ( 引数郡,mData) {
>       'mData を使用した処理
>   }

この処理は匿名メソッドを使った処理ですよね。
匿名メソッドは VB.NET には実装されていなかったと記憶しているので、そのままでは
無理ではないでしょうか。

StartJob() の外にメソッドを記述するしかないような気がします。
2007/01/27(Sat) 14:37:57 編集(投稿者)

■No18939に返信(ぽぴ王子さんの記事)
> ■No18938に返信(たにまちさんの記事)
>
>> button.OnClick += delegate ( 引数郡,mData) {
>> 'mData を使用した処理
>> }
>
> この処理は匿名メソッドを使った処理ですよね。
> 匿名メソッドは VB.NET には実装されていなかったと記憶しているので、そのままでは
> 無理ではないでしょうか。
>
> StartJob() の外にメソッドを記述するしかないような気がします。

 ぽぴ王子さん、お早い返答ありがとうございます。
 検索してみたところ、以下のページにてC#2.0のみと記述されておりました。
 結局、今までどおり外部記述しかないわけですね。
 ありがとうございました。

 http://www.atmarkit.co.jp/fdotnet/special/vs2005_02/vs2005_02_03.html
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板