web-dev-qa-db-ja.com

VB.Netプロパティ-パブリック取得、プライベートセット

私は尋ねると思った...しかし、プロパティの取得部分をパブリックとして利用可能にする方法はありますが、セットをプライベートのままにしておきますか?

そうでない場合、2つのプロパティまたはプロパティとメソッドが必要だと考えています。

63
RiddlerDev

はい、非常に簡単です:

Private _name As String

Public Property Name() As String
    Get
        Return _name
    End Get
    Private Set(ByVal value As String)
        _name = value
    End Set
End Property
110
JDunkerley

Visual Studioの最低限必要なバージョンが何なのかわかりませんが、VS2015では使用できます

Public ReadOnly Property Name As String

パブリックアクセスでは読み取り専用ですが、_Nameを使用してプライベートに変更できます

20
Breeze
    Public Property Name() As String
        Get
            Return _name
        End Get
        Private Set(ByVal value As String)
            _name = value
        End Set
   End Property
7
Dan

言及する価値のある追加の微調整:これが.NET 4.0またはVisual Studio 2010の機能かどうかはわかりませんが、両方を使用している場合は、valueパラメーターを宣言する必要はありませんコードのセッター/ミューテーターブロック:

Private _name As String

Public Property Name() As String
    Get
        Return _name
    End Get
    Private Set
        _name = value
    End Set
End Property
6
Mass Dot Net

propertyを上記の回答よりもreadonlyとしてマークしていることがわかりました。 vb14が必要だと思います。

Private _Name As String

Public ReadOnly Property Name() As String
    Get
        Return _Name
    End Get
End Property

これはに凝縮することができます

Public ReadOnly Property Name As String

https://msdn.Microsoft.com/en-us/library/dd293589.aspx?f=255&MSPPError=-2147217396

4
Adam H