2011-01-13 61 views
2

对,所以我有这段代码初始化C#中的属性的默认值。 来源:http://www.codeproject.com/KB/dotnet/DefValInit.aspx声明,我不太明白(setter =(o)=> {};)

现在我已经将它改写成C++代码,遗憾的是不支持扩展,但供应 对象的ApplyDefaultValues工程,以及。我没能改写为C++

一号线是包含该表达式的所有行:

setter = (o) => { }; 

我想知道,如果有人知道这一行做了什么。谷歌没有透露结果

+2

我猜你不是在谈论C++/CLI类型行动的东西空对象,那么你用什么C++机制来表示.NET委托? – AakashM 2011-01-13 11:04:38

+0

没错,这段代码是C#,从我发布的代码项目的链接(它在zip文件中)。为了在我的C++/CLI通用库中使用它,我确实重写了从C#到C++/CLI的所有内容 – 2011-01-13 12:34:02

回答

4

二传手会Action<T>类型,其中o是类型T的实例,它是一个lambda,一个“功能“这可以称得上是代码:

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

在这种情况下,函数什么都不做,那种对

1

这是一个lambda函数,它接受一个参数,所以没有任何