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

Dúvida no Ex. 1 da Aula 7 - Mão na Massa - Combo Box

Boa tarde.

não estou conseguindo compilar o meu código apresenta os seguintes erros:

Error 1 Cannot implicitly convert type 'string' to 'CaixaEletronicoAula7.Cliente'Error 2 Cannot implicitly convert type 'string' to 'CaixaEletronicoAula7.Cliente'Error 3 Cannot implicitly convert type 'CaixaEletronicoAula7.Cliente' to 'string'

Segue todo o código:

namespace CaixaEletronicoAula7 { public partial class Form1 : Form { Conta[] contas; public Form1() { InitializeComponent(); }

private void Form1_Load(object sender, EventArgs e) { contas = new Conta[2];

contas[0] = new Conta(); contas[0].Numero = 1; contas[0].Titular = "Marcos";

contas[1] = new Conta(); contas[1].Numero = 2; contas[1].Titular = "Paulo";

foreach (Conta conta in contas) { comboContas.Items.Add(conta.Titular); }

}

private void comboContas_SelectedIndexChanged(object sender, EventArgs e) { int indiceSelecionado = comboContas.SelectedIndex; Conta contaSelecionada = contas[indiceSelecionado];

textoTitular.Text = contaSelecionada.Titular; textoNumero.Text = Convert.ToString(contaSelecionada.Numero); textoSaldo.Text = Convert.ToString(contaSelecionada.Saldo);

} } }

namespace CaixaEletronicoAula7 { class Cliente { public string Nome { get; set; } public string Rg { get; set; } public string Endereco { get; set; }

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

namespace CaixaEletronicoAula7 { class Conta { public int Numero { get; set; } public double Saldo { get; protected set; } public Cliente Titular { get; set; }

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

public void Deposita(double valor) { this.Saldo += valor; }

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

1 resposta
solução!

Marcos, vc está atribuindo ao Titular, que é uma classe do tipo Cliente, uma string.

Você fez isso: contas[0].Titular = "Marcos";

mas deveria ser isto: contas[0].Titular = new Cliente();

ou

contas[0].Titular = new Cliente(){ nome = "Marcos"};

ou se tiver implementado o construtor de Cliente passando string nome: contas[0].Titular = new Cliente("Marcos");

Confere ai.