为什么我不能自动实现只读属性

why*_*heq 5 .net vb.net

这是允许的:

Public Property Text() As String
Run Code Online (Sandbox Code Playgroud)

而对于只读属性,为什么我不允许等效?

Public ReadOnly Property Text() As String
Run Code Online (Sandbox Code Playgroud)

我似乎被迫使用:

Public ReadOnly Property Text() As String
    Get
        Return fText
    End Get
End Property
Run Code Online (Sandbox Code Playgroud)

Hei*_*nzi 5

它现在在 VB14(Visual Studio 2015 及更高版本)中受支持。可以使用初始化表达式来初始化自动实现的属性:

Public ReadOnly Property Text1 As String = "SomeText"
Public ReadOnly Property Text2 As String = InitializeMyText()
Run Code Online (Sandbox Code Playgroud)

或在构造函数中:

Public ReadOnly Property Text As String

Public Sub New(text As String)
    Me.Text = text
End Sub
Run Code Online (Sandbox Code Playgroud)

细节: