Sobes.tech
Junior

Mi az a hatókör (scoped) a C#-ban?

sobes.tech MI

Válasz az MI-től

A C#-ban a láthatósági tartomány meghatározza a változók, metódusok és típusok elérhetőségét a program egy adott részében. Ez korlátozza, hogy a kódban hol használható egy adott azonosító.

Fő láthatósági tartományok:

  • Kódrészlet (Blokk): A { } belsejében deklarált változók csak ezen a blokkon belül érhetők el.
  • Metódus tartománya: A metóduson belül deklarált változók és paraméterek csak ezen a metóduson belül érhetők el.
  • Osztály/Struktúra tartománya: Az osztály vagy struktúra tagjai (mezők, tulajdonságok, metódusok) a hozzáférési módosítóktól (public, private, protected, internal) függően érhetők el.
  • Névtér tartománya: A névtérben deklarált típusok elérhetők ebben a névtérben és más névtérben, ahol a using van használatban.
  • Assembly tartománya: Az internal módosítóval ellátott típusok csak a jelenlegi assembly-n belül érhetők el.

Példa kódrészlet tartományára:

public void ExampleMethod()
{
    int x = 10; // az x csak az ExampleMethod belsejében érhető el
    if (x > 5)
    {
        int y = 20; // y csak az if blokk belsejében érhető el
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // fordítási hiba: y nem elérhető itt
}