Sobes.tech
Junior — Middle

É possível definir uma função com nível de acesso protegido dentro de um método de classe?

sobes.tech IA

Resposta da IA

No C# é possível definir uma função com nível de acesso protected dentro de um método de classe. Os métodos com modificadores de acesso (public, private, protected, internal) são declarados ao nível da classe, não dentro de outros métodos. Funções aninhadas (funções locais) dentro de um método não podem ter modificadores de acesso — elas estão sempre disponíveis apenas dentro desse método.

Exemplo de uma função local dentro de um método:

class MyClass
{
    protected void OuterMethod()
    {
        void InnerFunction()  // função local, sem modificador de acesso
        {
            // código
        }

        InnerFunction();
    }
}