Olá, o código executa sem sem problemas, exceto quando faço os seguintes passos nessa ordem: Cadastro uma nova conta (preencho campo de numero e nome); Deleto qualquer conta; Cadastro novamente uma conta; Visualizo a conta que acabei de cadastrar no comboBox. Então o programa para de executar e recebo esta mensagem :
"System.NullReferenceException: 'Referência de objeto não definida para uma instância de um objeto.'
contaSelecionada era null."
Obs.: indiferente do que eu preencha o erro continua
O erro aponta para esta parte do código:
private void MostraConta()
{
Conta contaSelecionada = this.BuscaContaSelecionada();
textNumero.Text = Convert.ToString(contaSelecionada.Numero);
textTitular.Text = contaSelecionada.Titular.Nome;
textSaldo.Text = Convert.ToString("R$ " + contaSelecionada.Saldo);
textValor.Text = "";
}
código onde adiciono e deleto as contas:
public void AdicionaConta(Conta conta)
{
if(this.quantidadeDeContas == this.contas.Length)
{
Conta[] nova = new Conta[this.contas.Length * 2];
for (int i = 0; i < this.quantidadeDeContas; i++)
{
nova[i] = this.contas[i];
}
this.contas = nova;
}
this.contas[this.quantidadeDeContas] = conta;
this.quantidadeDeContas++;
comboContas.Items.Add(conta.Titular.Nome);
destinoDaTransferencia.Items.Add(conta.Titular.Nome);
MessageBox.Show("Conta cadastrada");
}
public void DeletaConta(Conta conta)
{
comboContas.Items.Remove(conta.Titular.Nome);
int i;
for (i = 0; i < this.quantidadeDeContas; i++)
{
if (this.contas[i] == conta)
{
break;
}
}
while (i + 1 <= this.quantidadeDeContas)
{
this.contas[i] = this.contas[i + 1];
i++;
}
}
private void btCadastraC_Click(object sender, EventArgs e)
{
CadastrarConta cadastro = new CadastrarConta(this);
cadastro.ShowDialog();
}
private void btDeletaC_Click(object sender, EventArgs e)
{
Conta contaSelecionada = this.BuscaContaSelecionada();
DeletaConta(contaSelecionada);
}
Espero que consigam entender meu problema