gpt4 book ai didi

vb.net - VB.NET 有匿名函数吗?

转载 作者:行者123 更新时间:2023-12-03 15:07:55 25 4
gpt4 key购买 nike

从我在谷歌上可以找到的,VB.NET 只有单语句 lambdas,而不是多语句匿名函数。但是,我阅读的所有文章都在谈论旧版本的 VB.NET,我找不到比 vs2008 beta 1 或 2 更新的内容。

所以问题是:我怎样才能在 VB.NET 中做到这一点?

C#代码:

private void HandleErrors( Action codeBlock ){
try{
codeBlock();
}catch(Exception e){
//log exception, etc
}
}

HandleErrors(() => {
var x = foo();
x.DoStuff();
etc
});

最佳答案

它在 VB10 中:

Dim food = New With {
.ID = 1,
.Name = "Carrot",
.Type = (
Function(name As String)
If String.IsNullOrEmpty(name) Then Return String.Empty

Select Case name.ToLower()
Case "apple", "tomato": Return "Fruit"
Case "potato": Return "Vegetable"
End Select

Return "Meat"
End Function
)(.Name)
}
Dim type = food.Type

或者,对应于您的代码:
Sub HandleErrors(codeBlock As Action)
Try
codeBlock()
Catch e As Exception
' log exception, etc.
End Try
End Sub

HandleErrors(Sub()
Dim x = foo()
x.DoStuff()
' etc.
End Sub)

关于vb.net - VB.NET 有匿名函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com