How do I write private set auto-properties in VB 10?

前端 未结 3 1697
轻奢々
轻奢々 2021-01-08 01:02

in C#:

public string Property { get; private set; }

in VB?

Please vote or/and share your ideas!

相关标签:
3条回答
  • 2021-01-08 01:31

    According to this MSDN article, you can't:

    Auto-implemented properties are convenient and support many programming scenarios. However, there are situations in which you cannot use an auto-implemented property and must instead use standard, or expanded, property syntax.

    You have to use expanded property-definition syntax if you want to do any one of the following:

    [...]

    • Specify different accessibility for the Get and Set procedure. For example, you might want to make the Set procedure Private and the Get procedure Public.
    0 讨论(0)
  • 2021-01-08 01:33

    I don't think that is possible (yet).

    See this link on MSDN.
    The above article even links to another one about mixed access levels.

    I found this on Microsoft Connect, so they are thinking about it (If it will be for VS2010 that's another question).

    0 讨论(0)
  • 2021-01-08 01:34

    Like this:

    Private Thingy As Integer
    Property Thing() As Integer
        Get
            Return Thingy
        End Get
        Private Set(ByVal value As Integer)
            Thingy = value
        End Set
    End Property
    

    Auto property in VB10

    Property PartNo As Integer = 44302
    

    But with a private set still can't be done in vb not even in VB10 see here:

    From MSDN (as john said):

    Property Definitions That Require Standard Syntax :

    • Specify different accessibility for the Get and Set procedure. For example, you might want to make the Set procedure Private and the Get procedure Public.
    0 讨论(0)
提交回复
热议问题