Как мне написать закрытые авто-свойства набора в VB 10? - PullRequest

Ответы [ 3 ]

9 голосов
/ 09 июня 2009

Как это:

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

Авто свойство в VB10

Property PartNo As Integer = 44302

Но с частным набором все еще нельзя сделать в vb, даже в VB10, см. Здесь:

Из MSDN (как сказал Джон):

Определения свойств, которые требуют Стандартный синтаксис:

  • Укажите различную доступность для процедура получения и установки. За Например, вы можете сделать Установите процедуру Private и Get Процедура Public.
5 голосов
/ 09 июня 2009

Согласно этой статье MSDN , вы не можете:

Автоматически реализованные свойства удобно и поддерживать много сценарии программирования. Тем не менее, есть это ситуации, в которых вы не можете использовать автоматически реализованное свойство и должно вместо этого используйте стандартный или расширенный, синтаксис свойства.

Вы должны использовать расширенный синтаксис определения свойства, если вы хотите выполнить одно из следующих действий:

[...]

  • Укажите различную доступность для процедура получения и установки. За Например, вы можете сделать Установите процедуру Private и Get Процедура Public.
5 голосов
/ 09 июня 2009

Я не думаю, что это возможно (пока).

См. эту ссылку в MSDN.
Вышеупомянутая статья даже ссылается на еще одну о смешанных уровнях доступа.

Я нашел это в Microsoft Connect, поэтому они думают об этом (если это будет для VS2010, это другой вопрос).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...