2011-01-09 91 views

回答

1

正如你所说,这是不可能的。

您有几种选择

  • Function two是同一类中的一个私有函数,这样你就可以从Function one调用它。
  • 在类上创建一个嵌套的类或结构,再次是私有的,并在其上调用方法。
+0

为了澄清,没有这些选项允许什么*嵌套*函数允许,它通过名称引用局部变量(而不必将它们明确地作为参数传递)。 Lambda函数是(现在)解决方案。对于如问题所述的问题,创建一个局部变量并为其分配一个lambda函数,如Cody所示,为该函数提供了一个本地名称。 – ToolmakerSteve 2018-01-20 18:37:51

12

你问的如何编写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

+3

VB10'Sub'lambda需要。 – 2011-01-09 12:58:27