Как мне написать закрытые авто-свойства набора в VB 10?
В C#:
public string Property { get; private set; }
в VB?
3 ответа
Я не думаю, что это возможно (пока).
Смотрите эту ссылку на MSDN.
Вышеупомянутая статья даже ссылается на другую про смешанные уровни доступа.
Я нашел это в Microsoft Connect, поэтому они думают об этом (если это будет для VS2010, это другой вопрос).
Как это:
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 (как сказал Джон):
Определения свойств, которые требуют стандартного синтаксиса:
- Укажите различную доступность для процедуры Get и Set. Например, вы можете сделать процедуру Set частной, а процедуру Get - общедоступной.
Согласно этой статье MSDN, вы не можете:
Автоматически реализованные свойства удобны и поддерживают множество сценариев программирования. Однако существуют ситуации, когда вы не можете использовать автоматически реализованное свойство и вместо этого должны использовать стандартный или расширенный синтаксис свойства.
Вы должны использовать расширенный синтаксис определения свойств, если хотите выполнить одно из следующих действий:
[...]
- Укажите различную доступность для процедуры Get и Set. Например, вы можете сделать процедуру Set частной, а процедуру Get - общедоступной.