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.

Chamada das propriedades de uma classe

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!