Sobes.tech
Junior — Middle

Lehet-e egy osztálymetóduson belül védett hozzáférési szinttel rendelkező függvényt definiálni?

sobes.tech MI

Válasz az MI-től

C#-ban nem lehet olyan függvényt definiálni, amelynek hozzáférési szintje protected egy osztály metódusán belül. A hozzáférési módosítók (public, private, protected, internal) a osztály szintjén vannak deklarálva, nem más metódusokon belül. A metóduson belüli beágyazott függvények (helyi függvények) nem rendelkezhetnek hozzáférési módosítóval — mindig csak ezen a metóduson belül érhetők el.

Példa helyi függvényre egy metóduson belül:

class MyClass
{
    protected void OuterMethod()
    {
        void InnerFunction()  // helyi függvény, hozzáférési módosító nélkül
        {
            // kód
        }

        InnerFunction();
    }
}