2013-07-10 14 views
12

Czy w VB.NET istnieje możliwość zdefiniowania innego zakresu dla pobierającego i ustawiającego właściwość?VB.NET: Właściwość z geterem publicznym i chronionym seterem

Coś (kod ten nie działa, oczywiście):

Public Class MyClass 
    Private mMyVar As String 
    Public ReadOnly Property MyVar As String 
     Get 
      Return mMyVar 
     End Get 
    End Property 
    Protected WriteOnly Property MyVar As String 
     Set(value As String) 
      mMyVar = value 
     End Set 
    End Property 
End Class 

wiem, że mogę to osiągnąć tylko za pomocą metody, która bierze wartości właściwości jako parametr i ustawia zmienną prywatną. Ale jestem ciekawy, czy istnieje bardziej elegancki sposób, który jest bliższy koncepcji własności.

Odpowiedz

15

Jasne, składnia jest następująca:

Public Property MyVar As String 
    Get 
     Return mMyVar 
    End Get 
    Protected Set(value As String) 
     mMyVar = value 
    End Set 
End Property