Registreren  Inloggen
vrijdag 18 mei 2012
Blog  
VBcentral.nl Blog

Category: VB.NET

VB.NET onderwerpen

Generics in .NET Deel II: Co- en contravariantie

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 »

Hashtable - Equals en GetHashCode

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 »

Concurrency locking

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 verloop van Scrum

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 »

Generics in .NET

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 »

Demonstratie van een UserControl

User controls worden gewoonlijk gebruikt voor het maken van samengestelde controls

Read the rest of entry »

Beveiliging Deel 2: CSRF

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 »

(Generieke) Collecties in .NET

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 »

Standaard operators in .NET – deel 3

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 »

Wat is nieuw in VB11– deel 1: Iterators

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 »
Sponsors
Blog menu
Zoeken in VBcentral Blog

TechDays 2012

Volg ons via TwitterVolg ons op LinkedIN    Volg ons op LinkedIN    Volg ons via de RSS feed
Copyright 2005-2012 VBcentral.nl   |  Privacybeleid  |  Gebruiksovereenkomst