Tags

C#: Namespaces, private, public, internal ...

by Frans van Ek | Feb 03, 2014

Als je gaat programmeren dan zul je al snel tegen deze termen aanlopen. Waar zijn ze voor bedoeld?

Om te beginnen de term Namespace. Deze term verklaart in het engels al aardig wat de reden is. Kennelijk heeft er iemand over nagedacht, wat altijd een goed teken is.

Namespace definieert een gedeelte waar toe alle andere namen behoren. Hierdoor kunnen we dezelfde namen op verschillende plekken gebruiken zonder dat er verwarring ontstaat.
Dit is te vergelijken met twee woonplaatsen. Binnen deze woonplaatsen hebben de bedrijven namen. Door de naam van de woonplaats mee te nemen in de naam van het bedrijf kunnen bedrijven uit twee woonplaatsen altijd uitelkaar gehouden worden.

woonplaats.naam => Amsterdam.Jumbo is iemand anders dan Rotterdam.Jumbo.

In C# is dit ook zo ingedeeld. Verschillende elementen die bij elkaar horen worden in dezelfde namespace geplaatst. Hierdoor wordt het mogelijk om snel de juiste class, functie en property te vinden. Want de naamgeving van elementen houdt niet op bij de namespace alleen. Dit geldt voor elk element dat aangemaakt of gebruikt wordt binnen c#.
Maar juist door het gebruik van de Namespace wordt het mogelijk om meerdere keren dezelfde naam te gebruiken voor een class. De namespace zorgt ervoor dat de classes uit elkaar gehouden worden.

De juiste naam kiezen is dan ook belangrijk. In een toekomstige blog zal ik verder ingaan op naamgeving als ik Clean Code ga behandelen. 
  
Voorbeelden van namespaces. 

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

Bij een project dat aangemaakt wordt kan een nieuwe namespace ontstaan. Als het project aangemaakt wordt er een namespace ingesteld waar binnen alle elementen van het project gaan vallen.
Zie - properties op project. 



Je kunt de namespace hier aanpassen. Zorg er wel voor dat de namgeving logisch is. 



Sitefinity Web Content Management