这是被允许的:
Public Property Text() As String
对于只读属性,为什么我不能有一个相当的等价物呢?
Public ReadOnly Property Text() As String
我似乎被迫使用:
Public ReadOnly Property Text() As String
Get
Return fText
End Get
End Property
现在VB14(Visual Studio 2015及更高版本)支持它。自动实现属性可以使用初始化表达式进行初始化:
Public ReadOnly Property Text1 As String = "SomeText"
Public ReadOnly Property Text2 As String = InitializeMyText()
或者在构造函数中:
Public ReadOnly Property Text As String
Public Sub New(text As String)
Me.Text = text
End Sub
详情:
public string Text { get; private set;}
,这将对其他类型只读,并且在当前类型内是可读写的。 - Marc Gravellreadonly
关键字,我会将readonly
进行风格化处理。而且从技术上讲,即使是readonly
也不能完全保证值没有改变(如果你尝试,所有事情都有可能发生)。 - Marc Gravell