Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

9.3. Auto-Implemented Properties

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 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 2012 Broncode - Codevoorbeeld 219
Namespace VisualBasic2008
    Class Person
        Private _Name As String                                            ' (1)
        Public Property Name() As String
            Get
                Name = _Name                                               ' (2)
            End Get
            Set(ByVal value As String)
                _Name = value                                              ' (3)
            End Set
        End Property
    End Class
End Namespace
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 2012 Broncode - Codevoorbeeld 220
Namespace VisualBasic2010
    Class Person
        Public Property Name() As String
    End Class
End Namespace
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 2012 Broncode - Codevoorbeeld 221
Namespace VisualBasic2008
    Class Counter
        Public Sub New()
            Value = 1                                                      ' (1)
        End Sub
        Public Property Value As Integer
    End Class
End Namespace
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 2012 Broncode - Codevoorbeeld 222
Namespace VisualBasic2010
    Class Counter
        Public Property Value() As Integer = 1
    End Class
End Namespace
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 maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.