【发布时间】:2013-08-13 01:21:29
【问题描述】:
我在使用 slimDX 时遇到了这个问题
MessagePump.Run(form, () => { });
() => { } 有什么作用?
【问题讨论】:
-
()=>{}是一个空操作。 空 Lambda 表达式
我在使用 slimDX 时遇到了这个问题
MessagePump.Run(form, () => { });
() => { } 有什么作用?
【问题讨论】:
()=>{} 是一个空操作。 空 Lambda 表达式
表达式() => {} 是一个空的 lambda 表达式。函数MessagePump.Run 是defined as:
public static void Run(
Form form,
MainLoop mainLoop
)
MainLoop 是defined as:
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的声明方式)在this MSDN page有详细说明。
【讨论】: