homelinksBlijf op de hoogte van de recente aanpassingen op vbvoorbeelden!
Visual Basic 2010 Voorbeelden

visual basic 2010 broncode voorbeelden

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

9.3. Auto-Implemented Properties

Print Email Deel op Facebook Deel op Twitter

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                                            ' (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 2010 Broncode
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 2010 Broncode
Namespace VisualBasic2008
    Class Counter
        Public Sub New()
            Value = 1                                                      ' (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 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 2010 Broncode
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 zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.