• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2008でデリゲートの代わりにラムダ式が使えるというので、試してみ)

VB2008でデリゲートの代わりにラムダ式が使えるというので、試してみた結果

このQ&Aのポイント
  • VB2008でデリゲートの代わりにラムダ式を使うことはできない
  • ラムダ式を使ってLabel1に表示することができなかった
  • デリゲートを使用した方法では意図した通りの動作を行った

質問者が選んだベストアンサー

  • ベストアンサー
  • _etnl
  • ベストアンサー率100% (4/4)
回答No.1

残念ながら、VB9.0(VB2008)ではラムダ式の=は代入ではなく比較演算子になります。 VB10(VB2010)では Label1.Invoke(Sub() Label1.Text = msg) のようにして実現可能です。 (ちなみに、displayMessageDelegateなどはActionなどのジェネリックなデリゲートを使えば楽ですね、余計なことかもしれませんが)

msx68000
質問者

お礼

さっそくVB2010 Expressを入手して試しましたところ、 教えていただいた記述でうまくいきました! あと追加で教えていただいたActionは調べてみたところ、 Label1.Invoke(New Action(Of String)(AddressOf Me.DisplayMessage), msg) てなかんじで書けるわけですね。もういちいちデリゲートを宣言する必要が ないですね! ありがとうございました。

関連するQ&A