0

私はslimDXを使用しているときにこれに遭遇しました

MessagePump.Run(form, () => { });

() => { } は何をしますか?

4

1 に答える 1

2

() => {}は空のラムダ式です。関数MessagePump.Runは次のように定義されます。

public static void Run(
Form form,
MainLoop mainLoop
)

MainLoopは次のように定義されます。

public delegate void MainLoop()

したがって、パラメーターを期待しないのはデリゲートです。したがって、渡す() => {}と、次のようなことを何もしないメソッドと同じくらい良いです:

public void MainLoopImpl()
{
    //empty method
}

MainLoopインスタンスを作成します。

var mLoop = new MainLoop(MainLoopImpl);
//or alternative syntax
MainLoop mLoop = MainLoopImpl;

//CALL Run

MessagePump.Run(form, mLoop);

デリゲートの宣言、作成、および使用 (宣言方法を含む) の詳細については、この MSDN ページlambda expressionで詳しく説明されています。

于 2013-08-13T01:34:22.567 に答える