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
usingvan használatban. - Assembly tartománya: Az
internalmó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
}