Estou fazendo o exercicio Mão na Massa do C# III = Tópicos Avançados, e quando insiro o código abaixo, aparece o seguinte erro:
Erro CS0029 Não é possível converter implicitamente tipo "string" em "Caelum.CaixaEletronico.Modelo.Usuarios.Cliente" CaixaEletronico.
colocarei ((((( aonde o erro está localizado.
tentei fazer o casting da seguinte forma: Titular = (Cliente) titular, mas fala que eu não posso fazê-lo.
private Form1 aplicacaoPrincipal;
public CadastroDeContas(Form1 aplicacaoPrincipal)
{
this.aplicacaoPrincipal = aplicacaoPrincipal;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string titular = titularConta.Text;
int numero = Convert.ToInt32(numeroConta.Text);
Conta conta = new ContaCorrente()
{
Numero = numero,(((((Titular = titular)))))
};
segue a classe Conta
public abstract class Conta
{
public int Numero { get; set; }
public Cliente Titular { get; set; }
public double Saldo { get; protected set; }
public virtual void Deposita(double valor)
{
if (valor > 0)
{
this.Saldo += valor;
}
}
public abstract void Saca(double valor);
public void TransferePara( Conta destino, double valor)
{
this.Saca(valor);
destino.Deposita(valor);
}
public double CalculaRendimentoAnual()
{
double saldoNaqueleMes = this.Saldo;
for (int i = 0; i < 12; i++)
{
saldoNaqueleMes = saldoNaqueleMes * 1.007;
}
double rendimento = saldoNaqueleMes - this.Saldo;
return rendimento;
}
public override bool Equals(object obj)
{
if(obj != null) {
Conta outra = (Conta)obj;
bool numero = (this.Numero == outra.Numero);
bool titular = (this.Titular.Equals(outra.Titular));
return numero && titular;
}
else
{
return false;
}
}
public override string ToString()
{
return "Titular: " + Titular.Nome;
}
}
segue a classe Cliente
public class Cliente
{
public string Nome { get; set; }
public string Rg { get; set; }
public string cpf;
public string endereco;
public int idade;
private bool EEmancipado;
public Cliente(string nome)
{
this.Nome = nome;
}
public Cliente() { }
public bool PodeAbrirContaSozinho
{
get
{
var maiorDeIdade = this.idade >= 18;
var emancipado = (this.EEmancipado);
var possuiCPF = !string.IsNullOrEmpty(this.cpf);
return (maiorDeIdade || emancipado) && possuiCPF;
}
}
public bool EhMaiorDeIdade()
{
return this.idade >= 18;
}
public override bool Equals(Object objeto)
{
Cliente outroCliente = (Cliente)objeto;
return this.Rg == outroCliente.Rg;
}
public override string ToString()
{
return "Nome: " + this.Nome + " RG: " + this.Rg;
}
}