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

[Dúvida] Erro no MostrarDados

Eu fiz a Propriedades autoimplementadas só que está dando erro em uma parte do meu ContaCorrente.cs. Irei escrever "ERRO" onde tá dando problema.

public void MostrarDados()
        {
            Console.WriteLine("Titular: " + titular (ERRO) );
            Console.WriteLine("Conta: " + conta (ERRO) );
            Console.WriteLine("Número Agência: " + numero_agencia);
            Console.WriteLine("Saldo: " + saldo);

O meu ContaCorrente.cs completo:

using ByteBank.Titular;
using System.Threading.Channels;

namespace ByteBank.Contas
{
    public class ContaCorrente
    {
        private int numero_agencia;
        public int Numero_agencia
        {
            get { return this.numero_agencia; }
            set
            {
                if( value > 0)
                {
                    this.numero_agencia = value;
                }
            }
        }

        //private string conta;
        public string Conta { get; set; }

        private double saldo = 100;

        public Cliente Titular { get; set; }



        public void Deposito(double valor)
        {
            saldo += valor;
        }
        public bool Sacar(double valor)
        {
            if (valor <= saldo)
            {
                saldo = valor;
                return true;
            }
            else
                return false;

        }
        public bool Transferir(double valor, ContaCorrente destino)
        {
            if (saldo < valor)
            {
                return false;
            }
            else
                Sacar(valor);
            destino.Deposito(valor);
            return true;
        }

        public void SetSaldo(double valor)
        {
            if (valor < 0)
            {
                return;
            }
            else
            {
                this.saldo = valor;
            }
        }

        public double GetSaldo()
        {
            return this.saldo;
        }

        public void MostrarDados()
        {
            Console.WriteLine("Titular: " + titular);   ERRO
            Console.WriteLine("Conta: " + conta);    ERRO
            Console.WriteLine("Número Agência: " + numero_agencia);
            Console.WriteLine("Saldo: " + saldo);
        }
    }

}
1 resposta
solução!

O erro ocorre porque você está tentando acessar as propriedades titular e conta, que não existem na sua classe ContaCorrente. Em vez disso, você tem a propriedade autoimplementada Titular, que representa o titular da conta e pode ser acessada diretamente usando Titular. Da mesma forma, a propriedade Conta pode ser acessada diretamente usando Conta.

Então, a correção para o método MostrarDados() seria:

public void MostrarDados()
{
    Console.WriteLine("Titular: " + Titular);
    Console.WriteLine("Conta: " + Conta);
    Console.WriteLine("Número Agência: " + Numero_agencia);
    Console.WriteLine("Saldo: " + saldo);
}

Note que também corrigi o nome da propriedade numero_agencia, que deve seguir a convenção de nomenclatura do C#, usando letra maiúscula na primeira letra de cada palavra (ou seja, Numero_agencia).