C# - Tipos implícitos e a palavra var

Estou estudando C# para poder trabalhar, mas estou com dificuldades em uma parte da apostila que meu código começa a dar erro, acredito que esteja faltando alguma coisa para ele compilar.

Ele da erro no documento, eu precisaria criar um construtor para ele? Comecei a estudar essa linguagem faz 1 semana.

public bool PodeAbrirContaSozinho
{
     get
     {
         var MaiorDeIdade = this.idade >= 18;
         var emancipado = documentos.contains("emancipacao");
         var possuiCPF = !string.IsNullOrEmpty(this.cpf);
         return (MaiorDeIdade || emancipado) && possuiCPF;
     }
}

Ps.: Estou seguindo a apostila de C# e Orientação a Objetos

Qual erro?

“The name ‘documentos’ does not exist in the current context”

Eu teria que criar um construtor documentos nessa classe, correto? Acredito que ele receba um array, porque tem o contains do lado e quando coloco ‘Generate Field ‘Cliente.documentos’’ ele dá erro no contains.

No código que postou nao mostra de onde vem documentos.

Então, na apostila também não mostra nada. Eles só vão explicando e do nada colocam esse documentos(mas não explica aonde você introduz ou se cria uma nova classe para ele). Por isso estou com dúvida, na página 85 da apostila ele mostra isso e depois não fala mais do assunto.

Pelo contexto do exemplo, documentos é um List de string. Você precisa declarar como atributo da classe. Algo como:

List<string> documentos = new List<string>();

Lendo o trecho rapidamente, esse parece ser apenas um exemplo parcial, que não é usado posteriormente, então não se prenda muito a fazer isso funcionar, apenas a entender o que está acontecendo.

Abraço.

Se a apostila realmente estiver capenga segue outro material pra não ficar tendo que adivinhar as coisas.

1 curtida

Código ruim esse ai, se é da apostila, para e busque outro material.

Você também precisa colocar todo o código dessa classe e aonde exatamente dá o erro!

Obrigado pessoal, me ajudou muito e já estou vendo outro material para estudo.

Abraços