1

У меня есть простой вопрос.Разница между однострочным свойством ReadOnly и ReadOnly с явным оператором Get в vb.net

Есть ли разница между одной линией ReadOnly Property и ReadOnly Property с явным Get заявления?

Например, в Visual Studio 2010 я использовал, чтобы сделать это:

Private _Message As String = "" 

Public ReadOnly Property Message As String 
    Get 
     Return _Message 
    End Get 
End Property 

Public Sub New(Message As String) 
    _Message = Message 
End Sub 

Но теперь я здесь в Visual Studio 2015 и давайте мне уйти с этим:

Public ReadOnly Property Message As String 

Public Sub New(Message As String) 
    Me.Message = Message 
End Sub 

Теперь я не пытался лениться, я просто наткнулся на него, ожидая, что IntelliSense заставит заявление Get. Поэтому мне осталось интересно, есть ли разница, о которой я должен знать. Это плохая практика или что-то другое?

Мне удалось найти множество тем и форумов о ReadOnly на C#, но я, кажется, сохнет при поиске темы относительно vb.net.

Буду признателен за любой ввод. Спасибо! =)

+0

Я думаю, что они в значительной степени делают то же самое. Я не в состоянии проверить это, но вы можете декомпилировать свое приложение и проверить код/​​IL. –

ответ

3

Свойства без явных геттеров и сеттеров - это просто синтаксическое удобство. Нет никакой разницы в реализации. Обычно вы должны использовать второй вариант, потому что он делает ваш код более удобочитаемым. Используйте только первый вариант, если вам нужна дополнительная функциональность в геттере.

+0

Хорошо, вот что я надеялся. Я все об удобочитаемости, и когда вам нужно добавить кучу свойств ReadOnly, это пригодится. На самом деле было бы неплохо иметь это удобство несколькими проектами назад. Благодаря! – Hawkeye

Смежные вопросы