Boa noite,
O compilador está gerando uma exceção (no formulário) quando tento utilizar o código abaixo:
this.conta.Titular.nome = "Camila";
Dá esse erro:
An unhandled exception of type 'System.NullReferenceException' occurred in CaixaEletronico.exe
Additional information: Referência de objeto não definida para uma instância de um objeto.
Código da Classe Conta
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CaixaEletronico
{
class Conta
{
public int Numero { get; set; }
public Cliente Titular { get; set; }
public double Saldo { get; private set; }
// demais linhas ocultadas
}
}
Código da Classe Cliente
namespace CaixaEletronico
{
class Cliente
{
public string nome;
public string rg;
public string cpf;
public string endereco;
public int idade;
}
}
Código do formulario
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;
namespace CaixaEletronico
{
public partial class Form1 : Form
{
private Conta conta;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.conta = new Conta();
this.conta.Titular.nome = "Camila";
this.conta.Numero = 1;
this.conta.Deposita(250.0);
textoTitular.Text = this.conta.Titular.nome;
this.MostraConta();
}
private void buttonDeposita_Click(object sender, EventArgs e)
{
string valorDepositadoStr = textoValor.Text;
double valorDepositado = Convert.ToDouble(valorDepositadoStr);
this.conta.Deposita(valorDepositado);
this.MostraConta();
}
private void MostraConta()
{
textoNumero.Text = Convert.ToString(this.conta.Numero);
textoSaldo.Text = Convert.ToString(this.conta.Saldo);
}
private void btnSacar_Click(object sender, EventArgs e)
{
string valorSacadoStr = textoValor.Text;
double valorSacado = Convert.ToDouble(valorSacadoStr);
bool retorno = this.conta.Saca(valorSacado);
if (!retorno)
{
MessageBox.Show("Saque não realizado. Saldo insuficiente.");
}
this.MostraConta();
}
}
}