注:これは、 VB.NET の C# プロパティの短縮形と同等の複製ではありませんか? . この質問は、VB の自動プロパティのゲッターとセッターで異なるアクセス権を持つ方法に関するものです。例: public getter と private 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 ソースにはそのような冗長性がたくさんあります。