我将如何在VB.NET中声明嵌套函数?例如,我想要做这样的事情:如何在VB.NET中声明嵌套函数?
Function one()
Function two()
End Function
End Function
但是,由于函数未关闭,因此此语句在VB.NET中无效。
我将如何在VB.NET中声明嵌套函数?例如,我想要做这样的事情:如何在VB.NET中声明嵌套函数?
Function one()
Function two()
End Function
End Function
但是,由于函数未关闭,因此此语句在VB.NET中无效。
正如你所说,这是不可能的。
您有几种选择
Function two
是同一类中的一个私有函数,这样你就可以从Function one
调用它。你问的如何编写lambda expression?
lambda表达式是一个没有名称的函数或子例程,可以在代理有效的任何地方使用。 Lambda表达式可以是函数或子例程,可以是单行或多行。您可以将当前范围的值传递给lambda表达式。
您可以使用Function或Sub关键字创建lambda表达式,就像创建标准函数或子例程一样。但是,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
VB10'Sub'lambda需要。 – 2011-01-09 12:58:27
为了澄清,没有这些选项允许什么*嵌套*函数允许,它通过名称引用局部变量(而不必将它们明确地作为参数传递)。 Lambda函数是(现在)解决方案。对于如问题所述的问题,创建一个局部变量并为其分配一个lambda函数,如Cody所示,为该函数提供了一个本地名称。 – ToolmakerSteve 2018-01-20 18:37:51