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

Erro com o Titular: cannot implicity convert type "string" to "Caelum. "..." .Cliente"

Olá, boa tarde! Tenho uma dúvida envolvendo o seguinte trecho de cógido:

string titular = titularConta.Text;
int numero = Convert.ToInt32(numeroConta.Text);

Conta contaCadastro = new ContaCorrente()
{
    Numero = numero, Titular = titular
};

No vídeo da Aula 4 de C# III, ele usa os initializers para atribuir um valor de string para o campo de Titular, que está definido como Cliente. Eu sei que poderíamos fazer essa inicialização de outro modo:

Conta contaCadastro = new ContaCorrente();

contaCadastro.Titular.Nome = titular;
contaCadastro.Numero = numero;

A minha dúvida é que não é somente nesse exercício que ele trata o campo Titular como uma string, ao invés de tratar como Cliente. Há algo da parte teórica que eu estou deixando escapar?

1 resposta
solução!

Acredito que sim. Porque você não pode passar uma string para objeto que é do tipo Cliente. Pelo que pude entender sua propriedade "Titular" não é uma string e sim do tipo "Cliente", que dentro dele você tem o atributos que pode estar acessando. Por tanto desta maneira o seguinte código estaria errado:

string titular = titularConta.Text;

Conta contaCadastro = new ContaCorrente()
{
  Titular = titular
};

Porque "Titular" é um objeto do tipo pessoa, para conseguir atribuir um nome ao titular, teria que acessar o atributo correspondente a ele da sua classe Cliente, no caso: Titular.Nome. O mesmo ocorre para os demais atributos. Espero que seja esta a sua duvida.