Category: VB.NET
VB.NET onderwerpen
In mijn vorige blog over Generics hebben we gezien hoe we zelf een klasse of functie kunnen maken die gebruik maakt van Generics. Er is echter nog een aspect van Generics dat ik nog niet heb besproken, co- en contravariantie. Deze techniek is beschikbaar in VB sinds .NET 4.0 Covariantie en contravariantie hebben te maken met overerving, of Inheritance. Inheritance houdt in dat een klasse een andere klasse 'overerft' en als het ware een verlengstuk van die klasse wordt. Een voorbeeldje: 1: Public Class Persoon
2: Public Property Naam As String
3: End Class
4:
5: Public Class Werknemer
6: Inherits Persoon
7: Public Property Salaris As Decimal
8: End Class
9:
10: Dim werknemer As New Werknemer
11: werknemer.Naam = "Sander"
12: werknemer.Salaris = 125000 ' Was het maar zo'n feest! ;)
U ziet dat de Property Naam niet in Werknemer staat gedefiniëerd, maar omdat Werknemer 'Inherit' van Persoon heeft de Werknemer automatisch toch de Property Naam. D ...
Read the rest of entry »
Een Hashtable is specifiek ontworpen om efficient/snel elementen te kunnen toevoegen, verwijderen en opzoeken.
Het werkt door de op te zoeken key of de key van de toe te voegen entry via een hash functie om te zetten naar een hash code/waarde. Daarvoor gebruikt deze de van Object overgeërfde GetHashCode() method van het keytype.
De door GetHashCode opgeleverde hash waarde is een getal die aangeeft op welke locatie ( ook wel bucket genoemd ) de entry wordt bewaard of wordt opgezocht. Dit getal ( key omgezet in hash code ) is een index van een tabel met buckets voor alle hash codes.
Als de hash function performant is, wat steeds de bedoeling is, kan het vinden of toevoegen van een element erg snel/efficient gebeuren.
Read the rest of entry »
Geen locking
Dit is de meest simpele vorm. De gebruiker die het laatst een update doet wint (zie figuur 4).
Read the rest of entry »
Het onderstaande plaatje geeft het verloop van een project aan. Het product bestaat uit een lijst van taken die gedaan moeten worden, de product backlog. Uit die product backlog wordt per sprint een sprint backlog gemaakt. Deze shortlist bepaalt de werkzaamheden van de betreffende sprint.
Read the rest of entry »
Sinds .NET2.0 kunnen wij VB programmeurs gebruik maken van een techniek die 'Generics' heet. 'Generic' vertaald naar het Nederlands is 'algemeen', en dit dekt de lading aardig. In mijn vorige blog over collecties heb ik al iets laten zien van Generics. Eerst een kleine opfrisser. 1: Dim teksten As New List(Of String)
2: teksten.Add("Hallo")
3: teksten.Add("hoe zat")
4: teksten.Add("dit ook alweer?")
5: ' Onderstaande mag niet, omdat 42 geen String is.
6: teksten.Add(42)
7:
8: Dim bericht As String = teksten(2)
U ziet dat de T in List(Of T) vervangen kan worden door een type, in dit voorbeeld String, waarna er enkel nog maar Strings in de List mogen. In plaats van String had ik ook Integer, Boolean, Exception of Persoon kunnen zeggen. Of één van de vele honderden andere klassen in het .NET Framework of die u wellicht zelf heeft gemaakt.
Nu kunnen wij natuurlijk ook zelf generieke klasses maken.
Dit is zelfs erg makkelijk! Door simpel ...
Read the rest of entry »
User controls worden gewoonlijk gebruikt voor het maken van samengestelde controls
Read the rest of entry »
CSRF is de afkorting voor Cross Site Request Forgery. Wanneer je site niet beveiligd is tegen CSRF worden er requesten van een andere website naar jouw site gestuurd en kunnen ze acties uitvoeren voor de ingelogde gebruiker zonder dat deze door heeft dat het gebeurd. Voorbeelden zijn het wijzigen van wachtwoorden, berichten plaatsen onder de naam van deze gebruiker of geld overmaken via online bankieren. Bijgevoegd vind je de solution van het voorbeeld wat ik hier ga bespreken.
Read the rest of entry »
Een belangrijk onderdeel van vrijwel iedere applicatie zijn collecties. Of u nou werkt met Arrays, Strings, lijsten, Dictionaries of DataTables, collecties zijn overal in uw software aanwezig. De Array kennen we waarschijnlijk allemaal. Een Array is een collectie met een vast aantal objecten. Hoewel Arrays erg snel zijn werken ze niet gemakkelijk. Vaak moet u precies weten wat waar in een Array gaat om er optimaal mee te kunnen werken. Let er op dat Arrays (net als alle andere collectie types .NET) een zero-based index hebben. Dit betekent dat het eerste item op index 0 zit, de tweede op index 1 enz. 1: ' Maak een array waar 10 items in kunnen.
2: ' Vul de array met 10 Integers.
3: Dim nummers(9) As Integer
4: For i As Integer = 0 To 9
5: nummers(i) = i + 1
6: Next
7:
8: ' Voeg een 11de toe.
9: Array.Resize(nummers, 11)
10: nummers(10) = 11
Het inserten of deleten zonder oude waarden te overschrijven is dusdanig ingewikkeld dat ik ze hier niet ga bespreken. Makkelijke ...
Read the rest of entry »
Ik vervolg mijn serie van artikelen over operators in .NET met deze keer aandacht voor bewerkingen op het datum/tijd type, DateTime.
Read the rest of entry »
Een van de aanpassingen die binnen Visual Basic 11 zijn doorgevoerd ter ondersteuning van het asynchroon programmeren zijn Iterators. Iterators hebben tot doel om al gedurende een For Each – loop een bepaal resultaat al terug te pushen, zodat de aanroepende code er al vast mee aan de slag kan
Read the rest of entry »