|
Dit artikel is gepubliceerd op zondag 31 juli 2011 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 : 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 2010 Broncode Option Explicit OnOption Strict OnClass Example1 Public Shared Sub Main() Dim operand1 As Byte = 1 Dim operand2 As Byte = 2 Console.WriteLine(operand1) Console.ReadLine() End Sub End ClassDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
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 zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|