Есть ли вероятность, что эти ограничения будут сняты в C # 5?
Есть небольшой шанс. Я, конечно, не рассчитывал на это. Это "приятно иметь" функции, а не "должны иметь" функции, и когда у вас есть огромный объем работы, функции "приятно иметь" иногда выпадают из графика, как они есть.
Если нет, есть ли причина, по которой это можно сделать в VB.NET, а не в C #?
Любая техническая причина? Нет. Есть технические причины, конечно.
Часто бывает, что быть второй командой, реализующей определенную функцию, выгодно. Разработчики второй реализации получают возможность воспользоваться знаниями, полученными с первой попытки, не принимая на себя столь больших затрат на исследования и разработки, не неся при этом никаких расходов на обслуживание или обратную совместимость.
Преимущество VB в том, что эта функция уже не реализована, и, следовательно, он не имеет существующего тела из миллионов строк пользовательского кода, которые должны быть на 100% обратно совместимы. Это значительное бремя затрат снято. И у них есть большая база данных об ошибках, проектных заметках и т. Д. За восемь лет использования этой функции в C #.