Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando vou inserir uma nova conta esta dando erro. "System.NullReferenceException: 'Referência de objeto não definida para uma instância de um objeto.'"

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Caelum.CaixaEletronico.Modelo.Contas;
using Caelum.CaixaEletronico.Modelo.Usuarios;


namespace CaixaEletronico
{
    public partial class CadastroDeConta : Form
    {
        private Form1 aplicacaoPrincipal;
        public CadastroDeConta(Form1 aplicacaoPrincipal)
        {
            this.aplicacaoPrincipal = aplicacaoPrincipal;
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            string titular = titularConta.Text;
            int numero = Convert.ToInt32(numeroDaConta.Text);


            Conta novaConta = new ContaCorrente();
            novaConta.Titular.Nome = titularConta.Text;
            novaConta.Numero = Convert.ToInt32(numeroDaConta.Text);
            this.aplicacaoPrincipal.AdicionaConta(novaConta);
        }
    }
}
1 resposta
solução!

Olá, Ederson.

Geralmente o erro diz em qual linha que dá erro. NullReferenceException significa que você tem alguma variável com referência null.

O problema é que podem ser vários lugares:

  • aplicacaoPrincipal
  • titularConta
  • numeroDaConta
  • novaConta.Titular

Geralmente, esquecemos de instanciar o Titular da conta. Tente mudar o seu código para:

Conta novaConta = new ContaCorrente();
novaConta.Titular = new Cliente(); // Adicione essa linha aqui
novaConta.Titular.Nome = titularConta.Text;
novaConta.Numero = Convert.ToInt32(numeroDaConta.Text);
this.aplicacaoPrincipal.AdicionaConta(novaConta);

E teste novamente.