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

14.2. Option Explicit en Option Strict

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.

Om de performantie van onze applicaties te bevorderen en zoveel mogelijk typefouten at runtime te vermijden weten we reeds dat we beter zoveel mogelijk specifieke datatypes gebruiken en het System.Object datatype waar mogelijk beter kunnen vermijden.  Dit om zaken als late binding, boxing en unboxing te vermijden.

Men gebruikt ook wel de term "strong typing" om te verwijzen naar bovenvermelde activiteiten.  Maar strong typing houdt bijvoorbeeld ook in :
1) dat men expliciet variabelen gaat declareren
2) dat men steeds type specifiers (As clausules) in de declaraties van variabelen en in de definities van functies gaat opnemen

Het eerste bovenvermelde punt 1) kan men at compiletime afdwingen door Option Explicit op On te plaatsen.
Visual Studio : Compiler optie Option Explicit On is ook de default voor projecten in Visual Basic.  Men kan in de compile opties van de project properties dit gaan aanpassen of men kan in de code expliciet Option Explicit op Off (of On) zetten (hiermee wordt ook de desbetreffende instelling op projectniveau overschreven).
Het tweede bovenvermelde punt 2) plus het niet toestaan van een membercall op een "late bound" object kan men at compiletime afdwingen door Option Strict op On te zetten.
Visual Studio : Deze Option Strict staat bij het creëren van een project in Visual Basic jammer genoeg by default op Off, maar net zoals Option Explicit kan men deze expliciet in de code of in de project properties gaan aanpassen.
Indien men toch met Option Strict Off werkt zal er bij het ontbreken van een As clausule in een declaratie van een variabele of definitie van een functie eigenlijk As Object staan.  Wat de bedoeling kan zijn, maar meestal niet de bedoeling is of toch meestal niet de meest doordachte keuze is.

Let erop dat deze regel (expliciet aanpassen van Option Explicit of Option Strict in de code) altijd aan alle klassedefinities moet voorafgaan.

Om er een goede gewoonte van te maken zullen we in de meeste voorbeelden en oplossing van oefeningen vanaf nu steeds Option Explicit On en Option Strict On opnemen.
Visual Basic 2012 Broncode - Codevoorbeeld 367
Option Explicit On
Option Strict On
Class Example1
    Public Shared Sub Main()
        Dim operand1 As Byte = 1
        Dim operand2 As Byte = 2
        'Dim operand3                                              ' (1)
        'operand4 = operand1                                       ' (2)
        'operand1 = GetSum(operand1, operand2)
        Console.WriteLine(operand1)

        Console.ReadLine()
    End Sub
    'Public Shared Function GetSum(ByVal operand1, ByVal operand2) ' (3)
    '    GetSum = operand1 + operand2
    'End Function
End Class
Regel (1) - waar geen As clausule wordt vermeld bij de declaratie van variabele operand3 - kan niet door Option Strict On.

Regel (2) - waar verwezen wordt naar een niet gedeclareerde variabele operand4 - kan niet door Option Explicit On.

Regel (3) - waar geen As clausules worden vermeld voor de terugkeerwaarde van de functie en voor de declaratie van de argumentvariabelen - kan niet door Option Strict On.

Het volledige programma (inclusief de uit-gecommentarieerde regels) zou functioneren indien zowel Option Explicit als Option Strict op Off zouden staan.

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.