我在使用 slimDX 时遇到了这个问题
MessagePump.Run(form, () => { });
() => { } 有什么作用?
该表达式() => {}
是一个空的 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 页面。