7
respostas

erro de compilação para exibir nome no text box

tenho a classe cliente com o construtor no atributo nome

 class Cliente
    {
        public string Nome;
        public string Rg;
        public string endereço;

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

logo tenho no formulario um campo para exibir o nome do cliente

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Conta conta = new Conta();
            conta.Titular = "cradlemaster";
            textoTitular.Text = conta.Titular;
        }


    }
por que o codigo nao compila ?
7 respostas

Faltou informar a classe Conta, mas pelo que entendi a classe Conta contém uma instância de Cliente chamada Titular. Caso seja isso mesmo e a classe Conta esteja correta , o código para exibir o nome deve ser:

Conta conta = new Conta();
conta.Titular.Nome = "cradlemaster";
textoTitular.Text = conta.Titular.Nome;

Pode mostrar sua classe Conta, por favor? (e na classe Cliente, está escrito endereço ao invés de endereco, o que pode resultar em algum problema)

ja havia colocado como no codigo abaixo mas o campo fica vazio.

Conta conta = new Conta();
conta.Titular.Nome = "cradlemaster";
textoTitular.Text = conta.Titular.Nome;

Se Titular for uma instância de Cliente, provavelmente você vai precisar instanciar ela.

Conta conta = new Conta();
conta.Titular = new Cliente();
conta.Titular.Nome = "cradlemaster";
textoTitular.Text = conta.Titular.Nome;

Tenta aí!

AINDA FICA VAZIO

Mostra sua classe Conta

Olá, boa noite!

Tive o mesmo problema ao seguir os passos da aula. No curso "C# II: Orientação a objetos", aula 3, o instrutor passa o código conforme segue abaixo:

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

Segui o mesmo código do vídeo, mas obtive o erro "CS0029 Cannot implicitly convert type 'string' to 'Aula3.Conta'". Até então, vinhamos trabalhando com o Titular como uma instância de Cliente, mas como o instrutor colocou o texto direto, fiquei com a dúvida se naquele ponto específico ele não estava usando o Titular da forma como usávamos anteriormente, ou se era um outro erro. Segue trecho relevante da classe Conta.

class Conta
    {
        public int Numero { get; set; }

        public Cliente Titular;

        public double Saldo { get; private set; }

Entendi que o problema acontece pois Titular é do tipo Cliente, ao invés do tipo string, é isso? Tentei mudar o tipo para string e funcionou, mas para manter a funcionalidade da classe Cliente seria necessário criar também um objeto para o cliente, certo?