Rid*_*Dev 65 vb.net scope properties
我想我会问...但是有没有办法让公共部分属性可用,但保持私有?
否则我认为我需要两个属性或属性和方法,只是认为这将更清洁.
JDu*_*ley 113
是的,非常直截了当:
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
Run Code Online (Sandbox Code Playgroud)
Bre*_*eze 22
我不确定Visual Studio所需的最低版本是什么,但在VS2015中你可以使用
Public ReadOnly Property Name As String
Run Code Online (Sandbox Code Playgroud)
它对于公共访问是只读的,但可以使用私有修改 _Name
Public Property Name() As String
Get
Return _name
End Get
Private Set(ByVal value As String)
_name = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
另外一个值得一提的调整:我不确定这是否是.NET 4.0或Visual Studio 2010功能,但是如果你同时使用它们,则不需要为setter/mutator代码块声明value参数:
Private _name As String
Public Property Name() As String
Get
Return _name
End Get
Private Set
_name = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
我发现将其标记为比上述答案property
更干净。readonly
我相信需要vb14。
Private _Name As String
Public ReadOnly Property Name() As String
Get
Return _Name
End Get
End Property
Run Code Online (Sandbox Code Playgroud)
这可以压缩为
Public ReadOnly Property Name As String
Run Code Online (Sandbox Code Playgroud)
https://msdn.microsoft.com/en-us/library/dd293589.aspx?f=255&MSPPError=-2147217396