2012-01-19 328 views
5

我在網上看過的很多文章都說在vb.net中創建屬性時,他們應該使用get/set方法和private/protected成員變量類。vb.net get/set不帶邏輯的屬性

像這樣:

Public Class Person 
    Private _name as string 
    public property Name as string 
    get 
     return _name 
    end get 
    set(byval value as string) 
     _name = value 
    end set 
    end property 
end class 

如果沒有邏輯中的get/set屬性的,爲什麼不寫一個相同的屬性是這樣的:

Public class Person 
    Public Property Name as string 
end class 

是這是因爲屬性只是從外部訪問類的訪問者,你會將該變量存儲在類中?

+0

哦,我明白了。我認識到你的答案是「在你的代碼中的重要性」。在我閱讀[MSDN文章](http://msdn.microsoft.com/zh-cn/library/dd293589.aspx)之前,我也沒有意識到自動實現的屬性是什麼。謝謝您的意見。 – Jim

回答

6

原因是這些指南和教程是在VB.NET 4.0推出之前發佈的。沒有其他理由不使用自動實現的屬性。

0

舊版教程之前,這是一個功能。自動實現的屬性表示法爲您提供了一種實現對類的一致性的簡潔方法。

1

雖然Konrad有它的作用,但我會補充說,作爲教程,教育學生如何使用屬性更重要快捷實施。更現代的教程應該展示擴展的代碼,然後是快捷方式。

最終,這取決於教程,無論是關於編程基礎和方法,還是關於特定功能。