C#2.0中使用了哪些功能,但VBNET 2.0中没有这些功能,以及如何解决?

Wil*_*ler 2 .net c# vb.net

我不希望VB.NET和C#开发者之间发生战争,我的目标也不是打开C#VS VB.NET对抗.

我希望大家列出一个在C#中大量使用的功能,但在VB.NET 2.0中不可用,你将如何解决类似的行为或目的呢?

例如:

C#

接受void(return)lambda表达式.这是FNH映射的示例:

Component(x => x.Address, m => { 
    m.Map(x => x.Number); 
    m.Map(x => x.Street); 
    m.Map(x => x.PostCode); 
});
Run Code Online (Sandbox Code Playgroud)

这在VB.NET 4.0之前是不可能的(假设在VB.NET 4.0中可行)

VB.NET

必须编写一个帮助方法(Sub),并提供AddressOf这个方法以便解决.

Private Sub Helper(ByVal m As MType) 
    m.Map(Function(x) x.Number) 
    m.Map(Function(x) x.Street) 
    m.Map(Function(x) x.PostCode) 
End Sub 

...   
Component(Function(x) x.Address, AddressOf Helper) 
Run Code Online (Sandbox Code Playgroud)

现在我知道,它不是VB.NET 2.0,但这只是一个例子.VB.NET 3.0和3.5也可以使用.请提一下这个版本的VB.NET.

Joe*_*orn 7

迭代器块(收益率/收益率中断)可能是最大的.