我不太明白的陈述(setter =(o)=> {};)

时间:2011-01-13 11:01:12

标签: c#

是的,所以我有这段代码初始化C#中Properties的默认值。 来源:http://www.codeproject.com/KB/dotnet/DefValInit.aspx

现在我把它重写为C ++代码,遗憾的是它不支持扩展,而是提供 ApplyDefaultValues的对象也可以。

我无法重写为C ++的一行是包含此表达式的行:

setter = (o) => { };

我想知道是否有人知道这条线的作用。谷歌没有给出任何结果

2 个答案:

答案 0 :(得分:4)

setter的类型为Action<T>,其中o是类型T的实例。它是一个lambda,一个可以在代码中调用的“函数”:

Action<object> setter = (o) => { };
setter(new object());

在这种情况下,函数不执行任何操作,类型为Action

的类型的null对象

答案 1 :(得分:1)

这是一个lambda函数,它接受一个参数而什么都不做