VB.NET属性声明

时间:2015-07-08 08:25:12

标签: .net vb.net properties backing-field

我看到我们可以在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

是否有任何差异或以后是一种改进的定义属性的方法。

2 个答案:

答案 0 :(得分:1)

如果你只是想要基本的访问者使用速记,它会为你设置一切,在我看来更容易阅读。

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

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

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

答案 1 :(得分:0)

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

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

_[PropertName]

但我会建议不要这样做。

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

目前(VS2013)如果您想要只读或只写属性,则必须使用简写版本。在VS2015中,您可以使用auto implemented properties for these as well