Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Problemas no vídeo 3

Bom dia, estou com um problema, o vídeo pede para converter uma variável cliente Titular, para string, e isso não é possível, ou eu estou fazendo algo errado ? vou postar o código a baixo.

class Conta
    {

        public int numero { get; set; }

        public Cliente Titular { get; set; }

        public double Saldo { get; private set; }

        public bool negativo = true;

        public void Depostia(double valor)
        {
            this.Saldo += valor;
        }
        public void Saca(double valor)
        {
            this.Saldo += valor + 0.1;
        }

        public void Transfere(double valor, Conta destino)
        {
            this.Saca(valor);
            destino.Depostia(valor);
        }

namespace CaixaEletronicoCurso2
{
    class Cliente
    {
        public string Nome { get; set; }

        public string rg { get; set; }

        public string endereco { get; set; }


        public Cliente (string nome)
        {
            this.Nome = nome;
        }
    }
}

  public Form1()
        {
            InitializeComponent();
        }

        private void textoTitular_TextChanged(object sender, EventArgs e)
        {

            Conta conta = new Conta();
            conta.Titular = "Victor";

        }


    }
}
4 respostas

Boa tarde Marco,

Não entendi bem o seu problema e não sou instrutor mas vou tentar te ajudar.

A variável Titular que você citou herda da classe objeto (todas as classes herdam dela) e nela tem o método ToString() que representa a variável em seu formato String.

É provável que essa representação do ToString() não saia exatamente o que você espera, então será necessário sobre-escrever esse método, eis um link do como fazer isso:

https://www.caelum.com.br/apostila-csharp-orientacao-objetos/classe-object/#18-3-integrando-o-object-com-o-combobox

Espero que tenha te ajudado.

Marco Antonio, passei pelo mesmo problema e consegui resolver iniciando a classe cliente dentro do meu form. o atributo Titular aparece na classe conta sendo do tipo Cliente..

public Cliente Titular { get; set; }

Então, se vc usar apenas

Conta conta = new Conta(); 
conta.Titular = "Victor";

sem iniciar uma variável new Cliente, não vai rolar... Vc deve adicionar a linha

conta.Titular = new Conta();

No final fica assim

Conta conta = new Conta(); 
conta.Titular = new Conta();
conta.Titular.Nome = "Victor";

espero ter ajudado.

solução!

Errata, manolo kkkk

conta.Titular = new Cliente(); //<<corrigido

No final fica assim

Conta conta = new Conta(); 
conta.Titular = new Cliente ();//<<corrigido
conta.Titular.Nome = "Victor";

Eu resolvi de outra maneira mas a sua deu certo também, valeu o auxilio !

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