我將如何在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