Я не хочу войны между разработчиками VB.NET и C#, и моя цель - открыть конфронтацию C# VS VB.NET.Какие функции сильно используются в C# 2.0, но недоступны в VBNET 2.0, и как обходным путем?
Я хотел бы, чтобы вы все перечислить особенность, которая широко используется в C#, но не доступен в VB.NET 2.0, и как бы вы работать вокруг, чтобы достичь такого же поведения или цели?
Например:
C#
Принимает недействительные (Обратно) лямбда-выражения. Вот пример с отображением FNH:
Component(x => x.Address, m => {
m.Map(x => x.Number);
m.Map(x => x.Street);
m.Map(x => x.PostCode);
});
Это невозможно сделать, прежде чем 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)
Теперь я знаю, что это не VB.NET 2.0, но это пример. VB.NET 3.0 и 3.5 тоже могут использоваться. Пожалуйста, просто укажите, к какой версии VB.NET это относится.
Вы ограничиваете его VB.Net 2.0, но как насчет C# ?? Любая версия или версия 2.0 тоже? –
Кому кто голосует, чтобы закрыть этот вопрос, я не понимаю почему !? Я только интересуюсь функциями, доступными на C#, которые не находятся в VBNET, и если есть обходной путь для достижения цели. Разве это недостаточно объективно? –
Вы, на самом деле, не очень справедливое сравнение, так как вы не могли сделать свой пример C# до тех пор, пока .net 3.5 –