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

Resposta Faça como eu fiz: o poder do encapsulamento

namespace ScreenSound.Modelos;

internal class Avaliação
{
public Avaliação(int nota)
{
Nota = nota;
}
public int Nota { get; }

public static Avaliação Parse(string texto)
{
    int nota = int.Parse(texto);
    if (nota < 0) { nota = 0; }
    if (nota > 10) {nota = 10; }
    return new Avaliação(nota);
}

}

1 resposta
solução!

Oi, Philip! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Com base no que você explicou, chamou atenção o uso do encapsulamento ao tornar a propriedade Nota somente leitura e centralizar a validação no método estático Parse, o que deixa a classe mais segura e organizada.

Uma dica interessante para o futuro é usar TryParse para evitar exceções durante a conversão de texto em número. Veja este exemplo:


int nota;
if(int.TryParse(texto, out nota))
{
    if(nota < 0) nota = 0;
    if(nota > 10) nota = 10;
}

Esse código tenta converter o texto em número sem gerar erro e garante que o valor fique dentro do limite esperado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!