Почему VB.NET 9 не имеет автоматических свойств, таких как C# 3?
-
02-07-2019 - |
Вопрос
Будет ли наличие небольшой приятной функции, которая ускоряет написание кода, такой как Автоматические свойства, очень хорошо вписываться в мантру VB.NET?
Что-то вроде этого будет работать идеально:
Public Property FirstName() As String
Get
Set
End Property
ОБНОВЛЯТЬ: VB.NET 10 (входит в состав Visual Studio 2010 и .NET 4.0) будет иметь автоматические свойства.Вот ссылка, которая показывает небольшую информацию об этой функции: http://geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx
В VB.NET 10 автоматические свойства будут определяться следующим образом:
Public Property CustomerID As Integer
Решение
Одна из причин, по которой многие функции в VB задерживаются, заключается в том, что структура разработки сильно отличается от C#, и, кроме того, часто больше внимания уделяется деталям.То же самое, по-видимому, справедливо и в данном случае, как предполагает Сообщение Пола Вика по вопросу.Это прискорбно, потому что во многих случаях это означает задержку (автоматические свойства, методы итераторов, многострочные лямбда-выражения и т. д.), но с другой стороны, разработчики VB обычно получают гораздо более зрелую функцию в долгосрочной перспективе (смотря на обсуждение, это будет особенно верно для методов-итераторов).
Итак, вкратце:VB 10 (надеюсь!) увидит автоматические свойства.
Другие советы
В vb.net это также не было такой большой проблемой, поскольку Visual Studio автоматически создает за вас 90% скелетного кода свойства, тогда как в C# вам приходилось вводить все это.
Если вы хотите создавать свойства немного быстрее, попробуйте фрагменты кода.Тип:Свойство и сразу после ввода «Y», нажмите клавишу вкладки :-).
Я понимаю, что это не отвечает на конкретный вопрос, но дает вам то, что предоставила команда VB...
Я знаю, что этот пост старый, поэтому вы, возможно, уже знаете, но VB получит автоматические свойства в следующей версии VS.
На основе ответ на отзыв и Канал9.
C# и VB.NET не совсем совпадают по новым функциям в своих первых версиях.Обычно к следующей версии C# догоняет некоторые возможности VB.NET и наоборот.Мне нравится буквальный XML из VB.NET, и я надеюсь, что они добавят его в C#.
На самом деле особой причины нет.Всегда было так, что даже когда VB.NET и C# рекламировались как одинаково мощные (и, честно говоря, они являются) их синтаксис и некоторые структуры иногда различаются.Над языками работают две разные команды разработчиков, так что этого можно ожидать.
Автоматические свойства не нужны в VB. Концессия, которую использует с помощью автоматического свойства, заключается в том, что вы не можете изменить GET и SET.
Если они вам не нужны, просто создайте общедоступное поле данных.
VB уже много лет обладает автоматическими свойствами.Просто их называли по-другому.