我想我会问......但是有没有办法让公共部分属性可以公开,但是保持该组为私有?
否则我认为我需要两个属性或属性和方法,只是认为这样会更干净。
答案 0 :(得分:108)
是的,很直接:
Private _name As String
Public Property Name() As String
Get
Return _name
End Get
Private Set(ByVal value As String)
_name = value
End Set
End Property
答案 1 :(得分:18)
我不确定Visual Studio所需的最低版本是什么,但在VS2015中你可以使用
Public ReadOnly Property Name As String
它是只读的公共访问权限,但可以使用_Name
答案 2 :(得分:7)
Public Property Name() As String
Get
Return _name
End Get
Private Set(ByVal value As String)
_name = value
End Set
End Property
答案 3 :(得分:6)
另外一个值得一提的调整:我不确定这是否是.NET 4.0或Visual Studio 2010功能,但是如果你同时使用它们,则不需要声明值 setter / mutator代码块的参数:
Private _name As String
Public Property Name() As String
Get
Return _name
End Get
Private Set
_name = value
End Set
End Property
答案 4 :(得分:4)
我发现将property
标记为readonly
比上述答案清晰。我相信vb14是必需的。
Private _Name As String
Public ReadOnly Property Name() As String
Get
Return _Name
End Get
End Property
这可以浓缩为
Public ReadOnly Property Name As String
https://msdn.microsoft.com/en-us/library/dd293589.aspx?f=255&MSPPError=-2147217396
答案 5 :(得分:-4)