0

私はこのスニペットを持っています

private void westButton_click(object sender, EventArgs ea)
{
    PlayerCharacter.Go(Direction.West);
}

北、南、東で繰り返されます。

プログラムで ir のようなメソッドを生成できる関数を宣言するにはどうすればよいですか?

例: 電話をかけたい

northButton.Click += GoMethod(Direction.North);

メソッドを定義する代わりに、

northButton.Click += new EventHandler(northButton.Click);
4

3 に答える 3

4
northButton.Click += (s, e) => GoMethod(Direction.North);

(また...)

northButton.Click += (s, e) => PlayerCharacter.Go(Direction.North);
于 2009-08-08T04:08:18.310 に答える
0
northButton.Click += (s,e) => GoMethod(Direction.North);
于 2009-08-08T03:57:50.483 に答える
0

私は解決策を見つけたようです:

private EventHandler GoMethod(Direction dir)
{
    return new EventHandler((object sender, EventArgs ea) => PlayerCharacter.Go(dir));
}

私の唯一の懸念は拘束時間です。GoMethod を呼び出したときにPlayerCharacter がnullあった場合、どうなりますか?

于 2009-08-08T04:07:27.703 に答える