Entendi como utilizar, mas não entendi o motivo/vantagem.
Entendi como utilizar, mas não entendi o motivo/vantagem.
Fala Felipe, beleza?
Argumentos nomeados ajudam a deixar o código mais claro. Veja o exemplo a seguir:
var pedido = new Pedido();
pedido.Finalizar(true, 13.0M);
Você poderia se perguntar "mas o que é esse true, e esse número?". A única maneira de responder isso é encontrar a assinatura do método e ler os nomes dos parâmetros.
Mas poderíamos reescrever o código desta maneira:
bool enviarEmail = true;
decimal valorPago = 13.0M;
var pedido = new Pedido();
pedido.Finalizar(enviarEmail, valorPago);
Com os nomes das variáveis já fica melhor para entender o que o método Finalizar
recebe, não?
Mas para evitar a declaração destas variáveis (e também evitar de você ficar consultando a assinatura dos métodos), a linguagem te permite usar parâmetros nomeados:
var pedido = new Pedido();
pedido.Finalizar(
enviarEmail: true,
valorPago: 13.0M);