看一些源代码,我发现了这个运算符
() => { }
Run Code Online (Sandbox Code Playgroud)
从阅读MSDN我现在知道它是lambda运算符,但它对通过{}的()有什么影响?它用作类构造函数的参数.
Mar*_*ell 13
它是一个Action(无,无参数)委托,其主体不执行任何操作.当需要非空委托时可能很有用(可能是为了简化回调或事件调用,因为调用a null是一个错误),但是没有任何具体要做.
它可以被称为空委托.它什么都不做,但是在不检查nulls的情况下调用它是安全的.占位符排序.
我这样使用它:
event Action SafeEvent = () => { };
event Action NullableEvent;
void Meth()
{
//Always ok
SafeEvent();
//Not safe
NullableEvent();
//Safe
if (NullableEvent != null)
NullableEvent();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |