在VB.NET中定义一个F#函数

N.T*_*T.C 2 vb.net f# function syntax-error

我在VB代码中定义了一个F#函数,如下所示:

Dim g As Microsoft.FSharp.Core.FSharpFunc(Of Double, Double)
Run Code Online (Sandbox Code Playgroud)

如何将g分配给特定功能:例如我想要g(x) = x^2?VB.NET中的语法是什么?

Tom*_*cek 6

除了Reed所说的,FSharp.Core库实际上定义了一个帮助器方法,它将委托(您可以使用lambdas创建)转换为F#函数.

您可以在FuncConvert.ToFSharpFunction MSDN中找到它以获取更多信息.我建议使用这个函数来创建一个自定义类,因为它更少依赖于F#编译器如何编译函数的内部细节(你仍然需要知道FSharpFunc类型,但不是那么多......)

我对VB知之甚少,但我认为这样的东西可能会起作用:

Dim g = FuncConvert.ToFSharpFunction(Function(x As Double) x * x)
Run Code Online (Sandbox Code Playgroud)