【发布时间】:2015-02-04 10:24:41
【问题描述】:
在 C# 中,如果委托定义如下:
delegate void A();
A a = () => {Console.WriteLine("Test")};
可以通过以下方式调用:
a.Invoke(); // Works
a(); // Also works
在 F# 中,可以调用 C# 委托:
a.Invoke() // Works fine.
a() // Error: This value is not a function and cannot be applied
为什么我不能在 F# 中使用第二种方法?在 C# 中, () 运算符是简单地映射到 Invoke 方法,还是在下面发生了其他事情。 F# 中有更简洁的语法吗?
【问题讨论】:
标签: f# delegates syntactic-sugar