Named and optional parameters são duas features distintas, mas são muito úteis se utilizadas juntas.

Parâmetros nomeados permitem que você associe um argumento com o nome do parâmetro, e não com a posição na lista de parâmetros.

Parâmetros opcionais permitem que possam omitir argumentos na invocação de métodos.

Algumas API’s, principalmente com as interfaces COM, como as API’s de automatização do Office, são escritos especificamente como o nome e parâmetros opcionais, essas API’s podem ter até 30 parâmetros.

Ambas as técnicas podem usar com métodos, indexadores, construtores e delegates.

Parâmetros nomeados

No C# 4, não é possível omitir argumentos com vírgulas como “Metodo(1,,2)”, ao invés disso você passa o valor com seu nome.

Ex.

static int Somar(int x, int y)

{

 

    return x + y;

 

}

 

Somar(1, y: 2);

 

or

Somar(x: 1, y: 2);

 

or

Somar(1, 2);

 

 

Parâmetros Opcionais

Todo o parâmetro opcional tem um valor default para ele, e eles precisam esta sempre no final.

 

static int Somar(int x, int y=2)

{

 

return x + y;

 

}

 

Or

 

static int Somar(int x=1, int y=2)

{

 

return x + y;

 

}

 

Somar(x:1);

 

Não se pode colocar um parâmetro opcional na frente de um parâmetro não opcional.

 

static int Somar(int x=2, int y)

{

 

return x + y;

 

}

 

 

Quando não é passado seu argumento, o mesmo assume seu valor default.

 

http://www.nandosilva.com

http://twitter.com/nandinhors

 

Até logo.