0

我在使用 slimDX 时遇到了这个问题

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

() => { } 有什么作用?

4

1 回答 1

2

该表达式() => {}是一个空的 lambda 表达式。函数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);

有关声明、创建和使用委托(包括lambda expression声明方式)的详细信息,请参阅此 MSDN 页面

于 2013-08-13T01:34:22.567 回答