1
resposta

Porque está dando este erro?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

using ScreenSound.Modelos;

namespace ScreenSound.Menus { internal class MenuAvaliarAlbum : Menu { public override void Executar(Dictionary<string, Banda> bandasRegistradas) { base.Executar(bandasRegistradas); ExibirTituloDaOpcao("Avaliar álbum"); Console.Write("Digite o nome da banda que deseja avaliar: "); string nomeDaBanda = Console.ReadLine()!; if (bandasRegistradas.ContainsKey(nomeDaBanda)) { Banda banda = bandasRegistradas[nomeDaBanda];

            Console.Write("Agora digite o título do álbum: ");
            string tituloAlbum = Console.ReadLine()!;
            if (banda.Albuns.Any(a => a.Nome.Equals(tituloAlbum)))
            {
                Album album = banda.Albuns.First(a => a.Nome.Equals(tituloAlbum));
                Console.Write($"Qual a nota que o álbum {tituloAlbum} merece: ");
                Avaliacao nota = Avaliacao.Parse(Console.ReadLine()!);

                album.AdicionarNota(nota);
                Console.WriteLine($"\nA nota {nota.Nota} foi registrada com sucesso para o álbum {tituloAlbum}");
                Thread.Sleep(2000);
                Console.Clear();
            }
            else
            {
                Console.WriteLine($"\nO álbum {tituloAlbum} não foi encontrado!");
                Thread.Sleep(2000);
                Console.Clear();
            }
        }
        else
        {
            Console.WriteLine($"\nA banda {nomeDaBanda} não foi encontrada!");
            Thread.Sleep(2000);
            Console.Clear();
        }
    }
}

} Aqui está o código completo, alguém pode me ajudar?

1 resposta

Olá Gustavo! Tudo cer to?

Aparentemento o erro está ocorrendo na linha album.AdicionarNota(nota);. Isso pode ser devido a alguns motivos comuns:

  1. Método AdicionarNota não implementado: Verifique se a classe Album possui o método AdicionarNota implementado corretamente. Se não estiver, você precisará adicioná-lo.

  2. Interface IAvaliavel: Se a classe Album deveria implementar a interface IAvaliavel, certifique-se de que isso está sendo feito corretamente e que o método AdicionarNota está definido na interface e implementado na classe.

  3. Tipo de nota: Confirme se o tipo da variável nota é compatível com o parâmetro esperado pelo método AdicionarNota.

Aqui está um exemplo de como poderia ser a implementação do método AdicionarNota na classe Album:

public class Album : IAvaliavel
{
    private List<Avaliacao> avaliacoes = new List<Avaliacao>();

    public void AdicionarNota(Avaliacao avaliacao)
    {
        avaliacoes.Add(avaliacao);
    }
}

Verifique esses pontos e veja se algum deles resolve o problema. Caso não resolva, peço que compartilhe todo o seu código para que eu possa analisar. Recomendo que faça isso usando o GitHub.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.