3
私は...いくつかのC#コードでこのつまずい:vb.netでプロパティをパブリックにしてプライベートにする方法を教えてください。
public Foo Foo { get; private set; }
は、どのように私はVBで同じことを行うことができますか?
もちろん私は...いくつかのC#コードでこのつまずい:vb.netでプロパティをパブリックにしてプライベートにする方法を教えてください。
public Foo Foo { get; private set; }
は、どのように私はVBで同じことを行うことができますか?
もちろん(おでこを萌芽)...:
Public Property Foo() As Foo
Get
...
End Get
Private Set(ByVal value As Foo)
...
End Set
End Property
私はそこにプライベートキーワードを置くことについて考えていなかった...
VB.NETはC#3.0のような自動プロパティを持っていません。そうです。 VBでは、等価は:
Private _Foo As SomeType
Public Property Foo() As SomeType
Get
Return _Foo
End Get
Private Set(ByVal value As SomeType)
_Foo = value
End Set
End Property
@ em70は彼の答えで言及したように、これは全く同じことではないことに注意してください。 VB.NETのさまざまなアクセスレベルを取得/設定するには、バッキングフィールドのみが使用できますが、C#バージョンにはバッキングフィールドは必要ありません。「標準構文が必要なプロパティ定義」(https://msdn.microsoft。 com/ja-jp/library/dd293589.aspx#Anchor_2) – jrh