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

Estou com dúvida no curso de C# e Tópicos Avançados, no exercício do capítulo Mão na Massa - Formulários.

Nao consigo add novos itens no meu combo box atravez do cadastro(form 2), o erro que aparece é que a variavel "Numero" nao faz parte do contexto.

 private Conta[] c;

        private int quantidadeDeConta;




        public Form1()
        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {


            c = new Conta[20];



            Conta contaDoDorfo = new ContaCorrente();

            Cliente cliente1 = new Cliente();


            cliente1.Nome = "Dorfo";
            contaDoDorfo.cliente = cliente1;
            contaDoDorfo.Numero = 1;
            contaDoDorfo.deposita(100);
            this.c[0] = contaDoDorfo;


            Conta contaDoGuto = new ContaCorrente();

            Cliente cliente2 = new Cliente();

            cliente2.Nome = "Guto";

            contaDoGuto.cliente = cliente2;
            contaDoGuto.Numero = 2;
            contaDoGuto.deposita(200);
            this.c[1] = contaDoGuto;

            Conta contaDoLemao = new ContaCorrente();

            Cliente cliente3 = new Cliente();


            cliente3.Nome = "Lemao";

            contaDoLemao.cliente = cliente3;
            contaDoLemao.Numero = 3;
            contaDoLemao.deposita(300);
            this.c[2] = contaDoLemao;


            this.quantidadeDeConta = 3;


            foreach (Conta conta in c)

            {

                if (conta != null)

                {
                    comboDeContas.Items.Add(conta.cliente.Nome);

                    destinoDaTransferencia.Items.Add(conta.cliente.Nome);

                 }

           }

            comboDeContas.DisplayMember = "Titular";

        }

 public void AdicionaConta(Conta conta)

        {
            this.c[this.quantidadeDeConta] = conta;

            this.quantidadeDeConta++;


            comboDeContas.Items.Add(conta);

        }


        private void btn_cadastrofrm2_Click(object sender, EventArgs e)

        {

CadastroDeContas cadastro = new CadastroDeContas(this);

            cadastro.ShowDialog();

        }

public partial class CadastroDeContas : Form
    {

        private Form1 aplicacaoPrincipal;
        public CadastroDeContas(Form1 alplicacaoPrincipal)

        {

            this.aplicacaoPrincipal = aplicacaoPrincipal;

            InitializeComponent();

        }


        private void button1_Click(object sender, EventArgs e)

        {

            string titular = titularConta.Text;

            int numero = Convert.ToInt32(numeroConta.Text);




            Conta conta = new ContaCorrente();

            Cliente c1 = new Cliente();


            conta.cliente = c1;
            conta.Numero = numero;
            conta.cliente.Nome = titular;


 //linha onde ocorre o erro 
          this.aplicacaoPrincipal.AdicionaConta(conta);

        }

    }
1 resposta
solução!

A propriedade numero deve estar como private.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software