Metodo(string p1, bool p2 = false)
Em C++ é possível chamar apenas:
a.Metodo(p1);
Pois o compilador gera na verdade:
a.Metodo(p1, false);
Em C# isto não é permitido já que o correto é usar sobrecarga:
class A
{
public void Metodo(string p1, bool p2)
{
// (...)
}
public void Metodo(string p1)
{
// O valor do segundo parametro pode vir de um arquivo de configuração
Metodo(p1, false);
}
}
É menos conveniente implementar mais um método, ainda mais em um método com muitos parâmetros. No entanto, desta maneira o valor padrão pode ser carregado de uma arquivo de configuração podendo ser alterado sem a necessidade de recompilar o programa.
http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85556.aspx
Nenhum comentário:
Postar um comentário