VB.NET:具有公共getter和受保护setter的属性

jor*_*jor 14 .net vb.net properties

在VB.NET中有一种方法可以为getter和属性的setter定义不同的范围吗?

类似的东西(这个代码当然不起作用):

Public Class MyClass
    Private mMyVar As String
    Public ReadOnly Property MyVar As String
        Get
            Return mMyVar
        End Get
    End Property
    Protected WriteOnly Property MyVar As String
        Set(value As String)
            mMyVar = value
        End Set
    End Property
End Class
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过一个方法来实现这一点,该方法将属性值作为参数并设置私有变量.但我只是好奇是否有更优雅的方式更接近于属性的概念.

Hei*_*nzi 19

当然,语法如下:

Public Property MyVar As String
    Get
        Return mMyVar
    End Get
    Protected Set(value As String)
        mMyVar = value
    End Set
End Property
Run Code Online (Sandbox Code Playgroud)