注意:这不是 C# 属性简写的VB.NET 等价物的副本吗?. 这个问题是关于如何对VB自动属性的getter和setter具有不同的访问权限;例如public getter 和 private setter。这个问题是关于自动属性的语法(并且没有提到这个问题)。
我正在尝试将自动属性(公共getter 和私有setter)从 C# 转换为 VB.NET。
但转换后 VB.NET 是维护一个私有字段。
C# 代码
class DemoViewModel
{
DemoViewModel (){ AddCommand = new RelayCommand(); }
public ICommand AddCommand {get;private set;}
}
来自代码转换器的VB.NET 等效项是
Class DemoViewModel
Private Sub New()
AddCommand = New RelayCommand()
End Sub
Public Property AddCommand() As ICommand
Get
Return m_AddCommand
End Get
Private Set
m_AddCommand = Value
End Set
End Property
Private m_AddCommand As ICommand
End Class
VB.NET 代码生成私有支持字段。
是否有可能在源代码(如 c#)中摆脱这个后场?如何?
如果没有这个特性,VB.NET 源代码就会有很多这样的冗余。