属性约定方法

时间:2017-03-17 21:05:22

标签: vb.net

据我所知,Microsoft使用Properties时不会使用下划线,但是他们说它可以用于私有字段(不确定)。因此,在上课时会有以下情况:

class Sample

Property Name as String

Private _margin As Decimal = Nothing
        Public Property Margin As Decimal
            Get
                Return _margin
            End Get
            Set(value As Decimal)
                _margin = value
                OnPropertyChanged("Margin")
            End Set
        End Property
End Class

Name属性的情况下,我可以简单地使用:

来调用它
Name = "John"

或在构造函数中避免使用相同名称的参数:

Me.Name = "John"

很清楚。然而,当我们谈论完整属性时,我不能仅在Margin属性 - margin作为私有支持字段的情况下使用,因为这将显示错误(相同名称),所以我可以像我显示{{1使用下划线(顺便说一下好吗?)。

然而,这会导致代码混乱,因为我只能通过_margin调用名称属性,而对于Name,我可以使用下划线Margin调用它。 :

_margin

请记住,我不希望私有财产的名称与财产名称不同。

1 个答案:

答案 0 :(得分:0)

  

然而,这会导致代码混乱,因为Name属性我只会按名称调用,对于Margin我可以用下划线调用它

不,你不能。如果在这种情况下使用下划线,则表示您正在访问该字段,而不是属性。 你不应该编写那样做的代码,即访问该字段而不是使用该属性。

根据许多惯例(包括您暗示要遵循的Microsoft惯例),名称中的下划线很好。但应该访问支持字段的唯一代码是属性本身。您的所有其余代码都应使用属性名称,即Margin

相关问题