VB.NET中带有受保护setter的自动实现的属性?

时间:2017-06-07 10:29:10

标签: vb.net properties protected

到目前为止,我在VB.NET中只有一个只读属性

Public ReadOnly Property Username() As String

现在我需要更改我的代码,因为需要保护此属性的setter。在C#中我会做到:

public string Username {get; protected set;}

但是我无法在VB.NET中找到这么简单易用的解决方案。 VB.NET是否提供了这个,我不知道这个?或者我是否必须编写如此多的代码并使其看起来更加丑陋?

Public Property Username() As String
    Get
        Return m_Username
    End Get
    Protected Set
        m_Username = Value
    End Set
End Property
Private m_Username As String

如果我有20个属性并将它们设置为这样,它会让我的课变脏。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

你可以通过这样做来缩短你的代码:

Protected _username As String

Public ReadOnly Property Username As String
    Get
        Return _username
    End Get
End Property

这样,您可以在继承此类的类中通过_username设置用户名。