Olá pessoas!
Nesse código, pelo o que eu entendi, está sendo criado um tipo "Avaliacao" que irá retornar o valor convertido de int para string. Como é mostrano curso "C#: Dominando Orientação a Objetos", só que ao eu finalizar o trecho do "Parse" no program.cs fica com um cerrilhado vermelhor informando que o meu método construtor "Parse" não está sentro encontrado no meu tipo "Avaliacao". Segue o código e o print.
void AvaliarUmaBanda()
{
//digite qual banda deseja avaliar
// se a banda exitir no dicionario >> atribuir uma nota
// senão, volta ao menu principal
Console.Clear();
ExibirTituloDaOpcao("Avaliar banda");
Console.Write("Digite o nome da banda que deseja avaliar: ");
string nomeDaBanda = Console.ReadLine()!;
if (bandasRegistradas.ContainsKey(nomeDaBanda))
{
Banda banda = bandasRegistradas[nomeDaBanda];
Console.Write($"Qual a nota que a banda {nomeDaBanda} merece: ");
Avaliacao nota = new Avaliacao.Parse(Console.ReadLine()!); // TRECHO DANDO ERRO
banda.AdicionarNota(nota);
Console.WriteLine($"\nA nota {nota} foi registrada com sucesso para a banda {nomeDaBanda}");
Thread.Sleep(2000);
Console.Clear();
ExibirOpcoesDoMenu();
}
else
{
Console.WriteLine($"\nA banda {nomeDaBanda} não foi encontrada!");
Console.WriteLine("Digite uma tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
ExibirOpcoesDoMenu();
}
}
Classe Avaliação
namespace ScreenSound.Modelos;
internal class Avaliacao
{
public Avaliacao(int nota)
{
Nota = nota;
}
public int Nota { get; }
public static Avaliacao Parse (string texto)
{
int nota = int.Parse(texto);
return new Avaliacao(nota);
}
}
Quando eu clico na solução sugerida pelo Visual Studio ele sugere que eu faça a seguinte linha de código na minha classe Avaliação:
internal class Parse : Avaliacao
{
private string v;
public Parse(string v)
{
this.v = v;
}
}
![]( )