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

Metodo adicionar compilou normalmente

Meu método adicionar, compilou normalmente, assim conseguindo totalizar os saldos e imprimindo via MessageBox.

insira seu código aqui

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp1
{
    class Totalizador
    {
        public double Saldo { get; private set; }

        public void adicionar(Conta c)
        {
            this.Saldo += c.Saldo;
        }

    }
}
insira seu código aqui

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp1
{
    class Conta
    {
        public int Numero { get; set; }
        public double Saldo { get; private set; }
        public Cliente Titular { get; set; }

        public void Sacar(double valor)
        {
            this.Saldo -= valor;
        }

        public void Depositar(double valor)
        {
            this.Saldo += valor;
        }
    }
}
insira seu código aqui

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Conta n1 = new Conta();
            n1.Titular = new Cliente();
            n1.Depositar(100);
            Console.WriteLine(n1.Saldo);

            Cliente n = new Cliente();
            n.Idade = 12;
            bool ehMair = n.validarIdade();
            MessageBox.Show("=" + ehMair);

            Totalizador nn = new Totalizador();
            nn.adicionar(n1);
            MessageBox.Show("="+nn.Saldo);




        }
    }
}

Estou utilizando visual studio 2017 versão 15.3.0, houve alguma atualização deste tratamento na nova versão da IDE. Não entendi o porque não compilaria ?

1 resposta
solução!

Olá Wyllian,

é um detalhe bem sutil para causar o erro de compilação. Tanto a sua classe Conta quanto sua classe Totalizador estão sem modificador de acesso. Note que no exercício a classe Conta de fato não tem modificador de acesso, porém a Totalizador é public. É aí que vai ocorrer um erro de compilação, pois uma classe publica como a Totalizador precisa receber um objeto de Conta que não é pública, causando uma incompatibilidade.