匿名メソッド・ラムダ式

スポンサーリンク

匿名メソッドとラムダ式の実装例です。

public MainWindow()
{
    InitializeComponent();

    // イベントハンドラのデリゲート
    this.button1.Click += new RoutedEventHandler(button1_Click);

    // 匿名メソッド
    this.button1.Click += delegate(object sender, RoutedEventArgs e)
    {
        Debug.WriteLine("匿名メソッド");
    };

    // ラムダ式いろいろ
    // ラムダ式1行の場合 その1
    this.button1.Click += (sender, e) => Debug.WriteLine("ラムダで1行");

    // ラムダ式1行の場合 その2
    this.button1.Click += (sender, e) =>
    {
        MessageBox.Show("こんな風にも書けます");
    };

    // ラムダ式複数行の場合
    this.Loaded += (sender, e) =>
    {
        Debug.WriteLine("複数行で");
        Debug.WriteLine("書く場合");
    };
}

// イベントハンドラ
private void button1_Click(object sender, RoutedEventArgs e)
{
    Debug.WriteLine("イベントハンドラ");
}

10 行でズバリ!! 匿名メソッドによるイベント ハンドラの実装 (C#)
http://code.msdn.microsoft.com/windowsdesktop/10-C-367d998d

コメント

タイトルとURLをコピーしました