VB.netのラムダ式

ラムダ式は苦手なんですが、VB.netにもラムダ式があるようです。

Dim subThread As New Thread(
    Sub() MyClass.sendQueueToServer(text)
)
subThread.Start()

Sub() MyClass.sendQueueToServer(text)
がラムダ式になるようです。
中括弧{}がないので違和感がありますが恐らくSub()の後がラムダ式になっているのだと思います。
クロージャと思った方が良いのかな?

内容は同期の不要なサブスレッドを実行するだけです。
昔だとデリゲートを使ってた気がするので、メソッドのアドレスポインタしか指定できず、引数を入れることなんてできなかったのでデータを渡すことに苦労した記憶があるのですが、これだとなんの苦労もしませんw。
ちゃんとスレッドIDは1以外で動きます。

ほとんど使うことが無くなってから知ることができました・・・。

投稿者プロフィール

TakaharaRyuji
PAGE TOP