かるあ のメモ

アクセスカウンタ

help リーダーに追加 RSS 式を実行して式を作る。

<<   作成日時 : 2007/10/26 14:48   >>

トラックバック 0 / コメント 0

以前のこの記事 に dieさん からコメントをいただきました。
ラムダ式の遅延実行

die wrote:
この件、すでに解決済みかもしれませんけど、こんなのでどうでしょうか

for (var i = 0; i <= 9; i++) {
 $get("button" + i).onclick = (function(i) {
    return function() { alert(i); };
 })(i);
}
後で評価するから i の値をいつまでも参照しているわけで、その場で評価して作ってしまえばいいんですね。

で一応これを VB で書くとこんな感じか
Dim buttonList = New Button() {Button1, Button2, Button3, Button4, button5, button6, button7, button8, button9}
For i = 0 To buttonList.Count - 1
   AddHandler buttonList(i).Click, _
       (Function(j As Integer) _
           Function(sernder As Object, args As EventArgs) _
               MessageBox.Show(j.ToString()) _
       )(i)
Next

設定テーマ

注目テーマ 一覧

月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文