Vou falar hoje de novidades
Visual Studio 2010/Framework 4.0. Mais especificamente dos parâmetros opcionais, que não existiam em C# até então.
Por motivos de facilidade de interoperabilidade foram criadas algumas estruturas para que o C# pudesse trabalhar com construtores e métodos com parâmetros opcionais. Junto a isso já se criou um problema. Se você tivesse um método com vários parâmetros opcionais como faria para informar apenas o último, penúltimo e assim por diante?
Nesse momento entram em campo os
Named Parameters, que possibilitam que se especifique o qual dos parâmetros que se está passando. Muitos vão lembrar dos
NamedParameters usados em atributos, mas temos que ter em mente que aqui estamos usando-os diretamente em métodos e construtores e definindo valores
default. Não são os mesmo utilizados nos atributos e não devem ser confundidos.
Bom, abaixo segue um trecho de código onde tenho meu construtor com parâmetros opcionais, todos eles com seus valores
default:
class Person
{
public Person(
string firstName = "Noname",
string lastName = "Nolastname",
DateTime birthDate = new DateTime())
{
//Implementação...
}
}
E aqui eu crio uma instância desta classe passando apenas o segundo parâmetro:
var person = new Person(lastName: "Canova");
Como pode ser visto, utilizo o nome da propriedade e após os
":" eu coloco o valor que quero. As outras propriedades assumirão os valores default.
Claro que aqueles que quiserem consumir classes com esta funcionalidade mas que prefiram continuar passando todos os parâmetros, podem fazer como sempre fizeram, lembrando que só é preciso especificar nomes de parâmetros quando não se usa a ordem normal dos mesmos:
var person2 = new Person("Vitor", "Canova");
var person3 = new Person("Vitor", birthDate: new DateTime(1981, 3, 19));
Mas aqui fica uma observação: Use com sabedoria.
Nenhum comentário:
Postar um comentário