VB.NET Автоматически реализованные свойства — совместимость между VS2010 и VS2008

#vb.net #visual-studio-2008 #visual-studio-2010 #automatic-properties

#vb.net #visual-studio-2008 #visual-studio-2010 #автоматически-свойства

Вопрос:

Я работаю над ASP.NET проект, в котором я использую VB.NET в Visual Studio 2010. Некоторые другие разработчики в проекте используют Visual Studio 2008. Мы все проверяем наш код в одном репозитории SVN. Я хотел бы начать использовать автоматически реализованные свойства в VB.NET …

 Property FirstName as String
  

вместо …

 Private FirstName as String
  Public Property FirstName() As String
  Get
    Return _FirstName
  End Get
  Set(ByVal value As String)
    _FirstName = value
  End Set
End Property
  

Меня беспокоит то, что это может испортить работу для тех, кто использует VS2008. Что произойдет, если кому-то, использующему VS2008, потребуется изменить мой класс, который использует автоматически реализованные свойства? Я предполагаю, что, поскольку все компилируется в IL-код, тогда не возникнет проблем с двоичной совместимостью. Хотя при редактировании исходного кода может возникнуть проблема. Я прав или ошибаюсь в этом? Спасибо.

Комментарии:

1. Автоматические свойства не поддерживаются в VB.Net 9.0 (самая высокая версия, поддерживаемая VS 2008), так что это приведет к ошибке в VS 2008 при компиляции.

Ответ №1:

Они получат ошибку компиляции

Отсутствует свойство ‘End Property’.

Свойство без спецификатора ‘Только для чтения’ или ‘Только для записи’ должно предоставлять как ‘Get’, так и ‘Set’.