Arquivo da tag: Overloading

Definindo classes em C# – Parte 3

Sobrecarga de Métodos (overloading)

A linguagem C# permite que métodos diferentes possuam o mesmo nome. Essa implementação é possível pois a assinatura dos métodos são diferentes. Uma assinatura é formada pelo nome do método e sua lista de parâmetros.

Geralmente o uso da sobrecarga está associada quando uma método precisa de uma série de métodos que adotem parâmetros diferentes, mas que fazem conceitualmente a mesma coisa, como por exemplo quando necessitamos ter parâmetros opcionais, diferentes tipos de entrada ou diferentes tipos de saídas (através dos parâmetros).

public void FaçoAlgumaCoisa()
{
}

public void FaçoAlgumaCoisa(int p1)
{
}

public void FaçoAlgumaCoisa(int p1, int p2)
{
}

public void FaçoAlgumaCoisa(string p1, int p2)
{
}

public void FaçoAlgumaCoisa(int p1, int p2, out int p3)
{
}

A invocação dos metódos acontece de forma tradicional. O compilador da linguagem chamará o método correto conforme a lista dos parâmetos.

FaçoAlgumaCoisa();
FaçoAlgumaCoisa(1);
FaçoAlgumaCoisa(1, 2);
FaçoAlgumaCoisa("1", 2);

int x;
FaçoAlgumaCoisa(1,2, out x);

Quando usamos o VisualStudio o autocomplete dá um força mostrando as sobrecargas do método.

Até mais.