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