VB.NET 属性 声明

VB.NET property declaration

我看到我们可以在 VB.NET 中以两种方式定义属性。

如下

 Private newPropertyValue As String
    Public Property ID() As String
        Get
            Return newPropertyValue
        End Get
        Set(ByVal value As String)
            newPropertyValue = value
        End Set
    End Property

或如下一行

Public Property ID As String

有什么区别吗,或者以后有改进的属性定义方式。

第二种格式称为 Auto-Implemented property。第一个选项只是 shorthand。如果在获取或设置 属性 时不需要任何逻辑或附加代码,则可以使用它。

您可以使用以下名称访问自动实现的 属性 的支持字段:

_[PropertName]

但我不建议这样做。

当您在 属性 中需要一些代码或逻辑时,您必须使用第一个选项。

目前 (VS2013) 如果你想要只读或只写 属性 那么你必须使用手写版本。在 VS2015 中你可以使用 auto implemented properties for these as well.

如果您只想使用基本访问器,请使用 shorthand,它会为您设置好一切,而且在我看来更容易阅读。

但是,如果您需要,则需要使用标准语法:

  • 包括任何额外的处理,例如验证。
  • 每个访问器具有不同的可访问性(私有获取,public 设置)
  • 使用只写或只读属性

此处还有大量额外信息:https://msdn.microsoft.com/en-us/library/dd293589.aspx