【发布时间】:2016-05-09 05:03:22
【问题描述】:
我知道 x => x + 1 的意思是创建一个返回 x + 1 的匿名函数,但是什么是 cfg => {} ; 什么意思?
【问题讨论】:
-
Read here 关于 Lambda 表达式的完整文档。
我知道 x => x + 1 的意思是创建一个返回 x + 1 的匿名函数,但是什么是 cfg => {} ; 什么意思?
【问题讨论】:
它是一个什么都不做的 lambda(即它是一个不起作用的 void 方法)。
这对于需要动作委托的方法可能是必需的,但您不需要回调来执行任何操作,因此您只需输入一个空的 lambda 即可获得结果。
【讨论】:
这取决于表达式应该代表的委托类型。
lamda 表达式的一般语法格式为:
[params] => [expression]
或
[params] => { [method body] }
所以你知道x => x + 1 是什么意思,但它也等价于x => { return x + 1; },前提是它被分配给Func<TInput, TOutput> 类型的变量。
鉴于此,cfg => {} 是一个接受一些输入但不返回任何内容的 lamda,前提是它被分配给类型为 Action<TInput> 的变量。请记住,动作没有返回类型,并且返回语句对于此类方法是可选的。
【讨论】: