Func <someType,someType =""> - 等号是什么意思?

Eva*_*gle 1 c# lambda types c#-4.0

Danny最初在回答Scott Hanselman最近的帖子时提出了这个问题:

谁可以告诉我这是什么:Func <Customer,bool ="">具有默认值的可选参数?布尔的空字符串?我用Func替换它,并在我的机器中得到不同的结果!一切都运作良好,我得到"where"声明,而不使用Expression!

我知道我也看到了这个Func的疯狂,但我似乎无法在C#4.0中获得这种类型的Func <>或Expression <Func <>>.

出于好奇,在Func中等号的含义是什么意思,如果有的话,并且在C#4.0中已经弃用了这个功能?

[这个问题来自Scott Hanselman的博客:" 每周源代码52 - 你继续使用LINQ,我认为这意味着你认为它意味着什么."]

Jon*_*eet 7

你说你已经看过了......我怀疑你是否已经在代码中看到它编译了.

如果你有,请举个例子:因为在我看到真正的代码之前,我99%肯定它只是无效的C#.


Jör*_*tag 5

根据Visual C#4.0语言规范,ISO C#语言规范(Visual C#2.0的一个子集),Visual Studio 2010语法高亮显示器和Visual C#4.0编译器,这不是合法的C#代码.它甚至在语法上都不合法,即它甚至不解析,更不用说在语义上合法了.

因此,它根本没有任何意义.