Já vi (e já fiz) métodos com vários parâmetros, alguns com até dezenas (esses eu só vi!) de parâmetros em sua assinatura. Isso acarreta problemas de legibilidade e manutenção futura.
Conheça o Curso de Refatoração com C# e escreva códigos mais limpos.Para resolver isso é simples: podemos encapsular todos os parâmetros passados para o método em uma única classe (desde que os parâmetros façam parte do mesmo contexto e que cheguem ao mesmo objetivo, para que não criemos uma classe problemática).
A Listagem 1 mostra um método com muitos parâmetros em sua assinatura.
Listagem 1. Método com N parâmetros
private void Gravar(string Nome, string Endereco, string Telefone,
string Bairro, string Cidade, string Estado, bool Ativo,
DateTime DataCadastro)
{
//código
}
Na Listagem 2 vemos o mesmo método, com apenas um parâmetro, que é um objeto da classe Pessoa, exibida pela Listagem 3.
Listagem 2. Método com apenas um parâmetro
private void Gravar(Pessoa objPessoa)
{
//código
}
Listagem 3. Classe Pessoa
public class Pessoa
{
public string Nome { get; set; }
public string Endereco { get; set; }
public string Telefone { get; set; }
public string Bairro { get; set; }
public string Cidade { get; set; }
public string Estado { get; set; }
public bool Ativo { get; set; }
public DateTime DataCadastro { get; set; }
}
Notem na Figura 1 que é bem simples para usarmos um objeto da classe, pois ao digitarmos objPessoa.; chamamos as propriedades da classe, criadas acima.
Figura 1. Chamada das propriedades de uma classe
Dessa forma temos um método simples mais objetivo, com apenas um parâmetro.
Assim finalizo a dica rápida. Muito obrigado a todos!