2016-11-03 14 views
1

我有一個簡單的問題。在vb.net中使用顯式獲取語句的一行ReadOnly屬性和ReadOnly之間的區別

單行ReadOnly PropertyReadOnly 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聲明。所以我仍然想知道我是否應該注意到這種差異。這是不好的做法還是做一些不同的事情?

我在C#中找到了大量關於ReadOnly的主題和論壇,但是當我搜索關於vb.net的主題時,我似乎要乾了。

我會感激任何輸入。 謝謝! =)

+0

我覺得他們差不多都是這樣做的。我無法驗證這一點,但您可以反編譯您的應用程序並檢查代碼/ IL。 –

回答

3

沒有顯式getter和setter的屬性只是一個語法方便。實施沒有任何區別。您通常應該使用第二個選項,因爲它使您的代碼更具可讀性。如果您需要額外的功能,請僅使用第一個選項。

+0

好的,那就是我所希望的。我全都是關於可讀性的,當需要添加一堆ReadOnly屬性時,這將會派上用場。事實上,在幾個項目之前有這樣的便利實際上會很好。謝謝! – Hawkeye

相關問題