Sobes.tech
Junior

Wat is de scope (scoped) in C#?

sobes.tech AI

Antwoord van AI

De scope in C# bepaalt de beschikbaarheid van variabelen, methoden en typen in een bepaald deel van het programma. Het is een beperking op waar in de code een bepaalde identifier gebruikt kan worden.

Belangrijkste scope-gebieden:

  • Codeblok: Variabelen gedeclareerd binnen accolades { } zijn alleen beschikbaar binnen dat blok.
  • Methodescope: Variabelen en parameters gedeclareerd binnen een methode zijn alleen beschikbaar binnen die methode.
  • Klasse/Structuur scope: Leden van een klasse of structuur (velden, eigenschappen, methoden) zijn toegankelijk afhankelijk van de toegangsmodificatoren (public, private, protected, internal).
  • Namespace scope: Types gedeclareerd in een namespace zijn beschikbaar binnen dat namespace en in andere namespaces waar using wordt gebruikt.
  • Assembly scope: Types met de modifier internal zijn alleen beschikbaar binnen de huidige assembly.

Voorbeeld van codeblok scope:

public void ExampleMethod()
{
    int x = 10; // x is alleen beschikbaar binnen ExampleMethod
    if (x > 5)
    {
        int y = 20; // y is alleen beschikbaar binnen het if-blok
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // compileerfout: y is hier niet beschikbaar
}