到目前为止,我曾在VB.NET只读属性作为在VB.NET中使用受保护的setter自动实现的属性?
Public ReadOnly Property Username() As String
现在我需要改变我的代码作为二传手这个属性需要被保护。在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个属性并将它们设置为这样,它会使我的类变得很脏。
不幸的是,这不允许在属性设置器中使用其他逻辑,例如引发INotifyPropertyChanged事件。可以实现一个专门用于设置值的单独方法,该方法也可以处理该逻辑,但是该方法可以声明为受保护的,而_username可以是私有的。 –