1
在处理现有框架时,有时您需要传入操作委托,该委托不执行任何操作,通常是原始开发人员添加的扩展点。例如:.NET Framework支持的空操作语法或单例
var anObject = new Foo(() => { });
而且据推测Foo对象会在某个时间调用这个委托。我的目标是消除{}的使用,因为我的风格决定需要独立运行,并且需要独立行,而且我有点强迫症,如果不必这样做,我会讨厌冗长。
当与返回值的动作处理,这是简单的enough-你可以提供一个表达式,而不是一个声明(从而消除了括号。)例:
var anObject = new Foo(() => string.Empty);
所以,我认为这个问题是两部分...
.NET是否有任何形式的默认空操作? 是否有语法糖为除lambda之外的lambda提供空表达式?
我所倾向的当前解决方案是在前面的赋值中定义委托,以避免在函数调用中使用表达lambda表达式。
这是我前进的方向!不幸的是,我正在使用的代码使用类型化的代表,但是你的代码尽可能接近。谢谢。 (在提出这个问题之前,我输入的委托问题并不清楚) – Sprague 2013-03-26 11:40:47
@Sprague,看起来像你需要'公共静态类NoOpAction',和'公共静态类NoOpAction '...只有另外14个! –
2016-04-07 11:46:41