var DateTime não funciona como parâmetro em um método

08/04/2013

0

Criei um método com vários argumentos, entre eles um argumento do tipo DateTime. Então, fiz um swtch...case e carrego uma variável do tipo DateTime, com as condições do swtch..case,conforme abaixo.

DateTime? _dtprazo = null;

switch(rblTarefa.SelectedIndex)
{
case 1:
_dtprazo = DateTime.Now;
break;
case 2:
_dtprazo = DateTime.Now.AddDays(3);
break;
case 3:
_dtprazo = DateTime.Now.AddDays(3);
break;
case 4:
_dtprazo = DateTime.Now.AddDays(3);
break;
case 5:
_dtprazo = DateTime.Now.AddDays(3);
break;
}


string mensagem = "Cadastro inserido com sucesso";
try
{
dados.insereCadastro(int.Parse(Session["CodUsuario"].ToString()), edtPj.Text, _dtprazo, rblTarefa.SelectedValue, rblAudiencia.SelectedValue);

ClientScript.RegisterClientScriptBlock(this.GetType(), "MensagemDeAlert", "alert('" + mensagem + "');", true);
}
catch (Exception ex)
{
lblErro.Text = "Não foi possível inserir um novo cadastro: \n" + ex.Message;
}

Dá erro, mas se eu trocar o _dataprazo por DateTime.Now, por exemplo, aí funciona, mas eu preciso da variável, para alimentar essa data dentro das condições. Fiz outro exemplo, com variável em outro WebForm e funcionou. O que está errado nesse exemplo? O erro está abaixo:

The best overloaded method match for 'WFJuridico.InsereDados.EntradaDados.insereCadastro(int, string, System.DateTime, string, string)' has some invalid arguments
Pjava

Pjava

Responder

Posts

08/04/2013

Joel Rodrigues

No momento que você declarou _dtprazo como nullable, você alterou o tipo dessa variável. Agora ela é DateTime? e não mais apenas DateTime, saca?
Ou seja, o método não está pronto parar receber uma data nula. Para isso, você deve passar _dtprazo.Value para o método.
O Value, em variáveis nullable, possui o real valor dessa variável, do tipo original dela.

Teste e nos dê um retorno.
Responder

08/04/2013

Pjava

Era isso mesmo; Troquei declaração e agora funcionou, nem precisei passar o value.
Responder

08/04/2013

Joel Rodrigues

Show de bola. Nesse caso, estou encerrando o tópico.
Abraço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar