我该如何在VB.NET中声明嵌套函数?例如,我想做这样的事情:
Function one()
Function two()
End Function
End Function
然而,在VB.NET中,这个语句是无效的,因为函数没有关闭。
我该如何在VB.NET中声明嵌套函数?例如,我想做这样的事情:
Function one()
Function two()
End Function
End Function
然而,在VB.NET中,这个语句是无效的,因为函数没有关闭。
你是在询问如何编写lambda表达式吗?
Lambda表达式是一个没有名称的函数或子程序,可以在委托有效的任何地方使用。Lambda表达式可以是函数或子程序,可以是单行或多行。你可以将当前范围内的值传递给lambda表达式。
创建lambda表达式时,需要使用Function或Sub关键字,就像创建标准函数或子程序一样。但是,lambda表达式包含在一个语句中。
例如,以下代码将输出“Hello World!”:
Dim outputString As Action(Of String) = Sub(x As String)
Console.WriteLine(x)
End Sub
outputString("Hello World!")
更多示例请参见此处:VB.NET Lambda Expression
正如您所指出的那样,这是不可能的。
您有几个选择:
Function two
作为同一类中的私有函数,因此可以从Function one
调用它。 Function foo() as String
Dim _bar = Function()
return "bar"
End Function
return "foo " + _bar()
End Function