Ori*_*rds 15 vb.net anonymous-methods
从我在谷歌上可以找到的,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
});
Run Code Online (Sandbox Code Playgroud)
小智 29
它在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
Run Code Online (Sandbox Code Playgroud)
Den*_*ler 18
Visual Basic .NET只有lambda表达式.
它不支持当前版本中的"匿名委托",尽管它会在VS2010中(以及在多行上).
现在唯一的选择是在某处声明您的方法并使用Addressof运算符传递它.
| 归档时间: |
|
| 查看次数: |
16963 次 |
| 最近记录: |