如何从VB.NET中的多变量函数返回单数函数

时间:2013-06-04 12:26:39

标签: vb.net

我有一个功能:

Public Function F(ByVal a As Double, ByVal b As Double,
                  ByVal c As Double, ByVal x As Double) As Double
  y = ax ^ 3 + bx ^ 2 + cx + d
  Return y
End Function

我怎样才能创建一个允许我读取参数a,b,c,d并返回一元函数的函数?例如,a = 1,b = 1,c = 3,d = 4:

Public Function F(ByVal x As Double) As Double
  y = 1x ^ 3 + 2x ^ 2 + 3x + 4
  Return y
End Function

或者换句话说,我怎么能创建一个返回类型

的函数的函数
Func(Of Double, Double)

1 个答案:

答案 0 :(得分:2)

使用lambda函数。

Public Function F(ByVal a As Double, ByVal b As Double, ByVal c As Double) As Func(of Double, Double)
    Return Function(ByVal x As Double) As Double
               Return ax ^ 3 + bx ^ 2 + cx + d
           End Function
End Function