据我所知,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
请记住,我不希望私有财产的名称与财产名称不同。
答案 0 :(得分:0)
然而,这会导致代码混乱,因为Name属性我只会按名称调用,对于Margin我可以用下划线调用它
不,你不能。如果在这种情况下使用下划线,则表示您正在访问该字段,而不是属性。 你不应该编写那样做的代码,即访问该字段而不是使用该属性。
根据许多惯例(包括您暗示要遵循的Microsoft惯例),名称中的下划线很好。但应该访问支持字段的唯一代码是属性本身。您的所有其余代码都应使用属性名称,即Margin
。