Почему VB.NET 9 не имеет автоматических свойств, таких как C# 3?

StackOverflow https://stackoverflow.com/questions/122324

Вопрос

Будет ли наличие небольшой приятной функции, которая ускоряет написание кода, такой как Автоматические свойства, очень хорошо вписываться в мантру 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 уже много лет обладает автоматическими свойствами.Просто их называли по-другому.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top