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

qual a diferença do seguinte código em c#?

public bool PodeAbrirContaSozinho
{
    get
    {
        var maiorDeIdade = this.idade >= 18;
        var emancipado = (this.EEmancipado);
        var possuiCPF = !string.IsNullOrEmpty(this.cpf);
        return (maiorDeIdade || emancipado) && possuiCPF;
    }
}

vs

public bool PodeAbrirContaSozinho()
{
    var maiorDeIdade = this.idade >= 18;
    var emancipado = (this.EEmancipado);
    var possuiCPF = !string.IsNullOrEmpty(this.cpf);
    return (maiorDeIdade || emancipado) && possuiCPF;
}
1 resposta
solução!

Olá, Wellington!

Quando você colocar um código aqui, use o botão inserir código que fica na barra de cima do campo onde você escreve os comentários. Ele vai inserir três acentos seguidos (```) duas vezes e um texto no meio dizendo para você colocar seu código ali entre eles. Dessa forma o código fica formatado corretamente para podermos entender.

Com relação a sua dúvida, a diferença é que o primeiro exemplo você criou uma propriedade de nome PodeAbrirContaSozinho e que é somente leitura (só tem o getter) com a lógica para verificar se pode ou não abrir conta sozinho.

O segundo exemplo você criou um método de nome PodeAbrirContaSozinho que informa se pode ou não abrir conta sozinho.

Na prática, não muda nada. Ambos os códigos fazem a mesma coisa e funciona. A questão é: Se é uma propriedade, deveria ser um valor e uma característica da sua classe, o que não é. Agora, se é uma verificação que usa de várias características e outros comportamentos (maiorDeIdade, emancipado e possuiCPF), isso é um comportamento e deve ser um método.

Ajudou?