Método com parametros variáveis
Pessoal, boa tarde. Eu tenho alguns Web Forms com Vários TextBox e DropDownlist, mas em quantidades diferentes, e preciso escrever métodos para limpar o conteúdo dos mesmos. Como eu tenho uma classe para métodos semelhantes, gostaria de saber se há como fazer um método(único), cujos argumentos eu passo do tipo TextBox ou DropDownList, porem em quantidades diferentes. Mas apenas um método, tipo assim:
MeuMetod(varParametros);
Aí eu chamo:
MeuMetodo(TextBox1,TextBox2,DropDownList1);
MeuMetodo(TextBox1,TextBox2,TextBox3,DropDownList1,DropDownList2,TextBox4);
MeuMetodo(TextBox1,TextBox2,TextBox3);
Tem como? É possivel?
Atenção: Não estou falndo de OverLoad, pois dessa forma, teria que escrever tantos quantos possíveis. Caso não seja possível(acho que não) ter TextBox e DropDown, posso criar dois, um pra cada, mas aceites parâmetros variáveis(em quantidade e não tipo).
MeuMetod(varParametros);
Aí eu chamo:
MeuMetodo(TextBox1,TextBox2,DropDownList1);
MeuMetodo(TextBox1,TextBox2,TextBox3,DropDownList1,DropDownList2,TextBox4);
MeuMetodo(TextBox1,TextBox2,TextBox3);
Tem como? É possivel?
Atenção: Não estou falndo de OverLoad, pois dessa forma, teria que escrever tantos quantos possíveis. Caso não seja possível(acho que não) ter TextBox e DropDown, posso criar dois, um pra cada, mas aceites parâmetros variáveis(em quantidade e não tipo).
Pjava
Curtidas 0
Respostas
Renato Groffe
23/07/2012
PJava,
Possível é. Você usaria os controles como parâmetros, assumindo null por default. Apenas cheque depois se cada parâmetro está preenchido, a fim de evitar erros em tempo de execução.
Faz alguns dias escrevi inclusive um artigo aqui para o Portal sobre o uso de parâmetros opcionais/nomeados.
Segue o link:
[url]https://www.devmedia.com.br/parametros-nomeados-e-opcionais-em-csharp/25098[/url]
Espero que possa ser útil.
Até mais!
Possível é. Você usaria os controles como parâmetros, assumindo null por default. Apenas cheque depois se cada parâmetro está preenchido, a fim de evitar erros em tempo de execução.
Faz alguns dias escrevi inclusive um artigo aqui para o Portal sobre o uso de parâmetros opcionais/nomeados.
Segue o link:
[url]https://www.devmedia.com.br/parametros-nomeados-e-opcionais-em-csharp/25098[/url]
Espero que possa ser útil.
Até mais!
GOSTEI 0
Pjava
23/07/2012
Fiz assim e resolveu:
public void LimpaTudo(params Object[] controls)
{
foreach (var control in controls)
{
if (control is TextBox)
((TextBox)control).Text = String.Empty;
else if (control is DropDownList)
{
((DropDownList)control).SelectedIndex = -1;
}
}
}
public void LimpaTudo(params Object[] controls)
{
foreach (var control in controls)
{
if (control is TextBox)
((TextBox)control).Text = String.Empty;
else if (control is DropDownList)
{
((DropDownList)control).SelectedIndex = -1;
}
}
}
GOSTEI 0
Joel Rodrigues
23/07/2012
Valeu, PJava, por compartilhar a solução.
Agradecemos também a contribuição do amigo Renato e aproveito para parabenizá-lo pelo artigo citado.
Estou fechando este tópico.
Agradecemos também a contribuição do amigo Renato e aproveito para parabenizá-lo pelo artigo citado.
Estou fechando este tópico.
GOSTEI 0