VB.Net属性 - 公共获取,私订(VB.Net Properties - Public Get,

2019-08-16 16:08发布

我想我会问...但有没有办法有可作为公众属性的Get部分,但是保持在设定为私有?

否则,我想我需要两个属性或属性和方法,只要想通这将是更清洁。

Answer 1:

是的,相当直截了当:

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


Answer 2:

我不知道的Visual Studio的最低版本要求是什么,但在VS2015你可以使用

Public ReadOnly Property Name As String

它是只读的,供公众查阅,但可以通过私下修改_Name



Answer 3:

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


Answer 4:

一个额外的调整值得一提:我不知道这是一个.NET 4.0和Visual Studio 2010中的功能,但如果你同时使用,你不需要申报参数的代码的setter /突变块:

Private _name As String

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


Answer 5:

我发现标志着propertyreadonly除上述答案干净。 我相信,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



Answer 6:

如果你正在使用VS2010或以后它比那更容易

Public Property Name as String

你得到的私有属性和获取/完全免费设置!

看到这个博客帖子: 斯科特谷的博客



文章来源: VB.Net Properties - Public Get, Private Set