|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Vele Property constructies worden op dezelfde manier opgebouwd.
De Property wordt aan een Private veld gekoppeld, die zorgt voor het opslaan van de waarde waar deze Property toegang tot verleent (1). De getter Get levert vaak gewoon de inhoud van dit veld op (2) en de setter Set kent vaak gewoon de aan de Property toegekende waarde toe aan het ingekapselde veld (3). Visual Basic 2010 Broncode Namespace VisualBasic2008 Class Person Private _Name As String Public Property Name() As String Get Name = _Name End Get Set( ByVal value As String) _Name = value End Set End Property End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Om de programmeur te ontzien, van deze vaak herhaalde code, zijn auto-implemented properties in Visual Basic 10.0 (2010) toegevoegd.
Hierdoor hoeft men voor dergelijke basisconstructie, waar de getter enkel de waarde van het gekoppelde veld oplevert, en de setter enkel de toegekende waarde aan het veld toekent, enkel nog een soort van signatuurregel te definiëren : Visual Basic 2010 Broncode Namespace VisualBasic2010 Class Person Public Property Name() As String End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Bovenstaande is een verkorte notatie voor de volledige notatie in klasse VisualBasic2008.Person.
Soms wenst men het gekoppelde veld ( "backing field" ) of property te initialiseren (1) : Visual Basic 2010 Broncode Namespace VisualBasic2008 Class Counter Public Sub New() Value = 1 End Sub Private _Value As Integer Public Property Value() As Integer Get Value = _Value End Get Set( ByVal value As Integer) _Value = value End Set End Property End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Ook dit is in Visual Basic 10.0 mogelijk in de auto-implemented properties, je plaatst een toekenningsclausule na de type specifier van de Property definitie (1) : Visual Basic 2010 Broncode Namespace VisualBasic2010 Class Counter Public Property Value() As Integer = 1 End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
De initialisatiewaarde voor deze Property wordt in de constructor ingesteld.
Het is niet mogelijk argumenten te definiëren in deze auto-implemented properties, men zou immers niet weten hoe de implementatie van de getter en setter gebruik zou maken van deze argumentwaardes.
In een volgend onderwerp hebben we het over ReadOnly en WriteOnly properties, deze beschikken enkel over een getter of een setter. Het is niet mogelijk om deze via auto-implemented properties definiëren, ze hebben immers vaak een andere implementatie.
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|