2
respostas

Não sei se o codigo ficou correto ( Class Menuopcaoinvalida )

switch (opcaoEscolhidaNumerica)
    {
        case 1:
            MenuRegistrarBanda menu1 = new();
            menu1.Executar(bandasRegistradas);
            ExibirOpcoesDoMenu();
            break;
        case 2:
            MenuRegistrarAlbum menu2 = new ();
            menu2.Executar(bandasRegistradas);
            ExibirOpcoesDoMenu();
            break;
        case 3:
            MenuMostrarBandasRegistradas menu3 = new();
            menu3.Executar(bandasRegistradas);
            ExibirOpcoesDoMenu();
            break;
        case 4:
            MenuAvaliarBanda menu4 = new ();
            menu4.Executar(bandasRegistradas);
            ExibirOpcoesDoMenu();
            break;
        case 5:
            MenuExibirDetalhes menu5 = new();
            menu5.Executar(bandasRegistradas);
            ExibirOpcoesDoMenu();   
            break;
        case -1:
            Console.WriteLine("Tchau tchau :)");
            break;
           default:
            Menuopcaoinvalida invalido = new();
            invalido.Executar(bandasRegistradas);
            ExibirOpcoesDoMenu();
            

            break;
    }
}


// Class---------------------------------------------------------------------------------

internal class Menuopcaoinvalida : Menu
{
    public void Executar(Dictionary<string, Banda> bandasRegistradas)
    {
        

        Console.Clear();
        ExibirTituloDaOpcao("Opção Inválida");
        Console.Write("Escolha a opção Novamente !!!!");
        Thread.Sleep(2000);
        Console.Clear();

        

    }
}

RESULDADO (quando digito o numero 9 por exemplo ) depois volta ao menu principal.

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

2 respostas

Não vi nenhum problema. Fiz aqui no meu também seguindo a herança e polimorfismo, está funcionando de boa.

Olá, Gustavo!

Pelo que entendi, você está com dúvida se o código que você escreveu para a classe Menuopcaoinvalida está correto.

Analisando o código, parece que você está no caminho certo! A classe Menuopcaoinvalida herda da classe Menu, o que é o esperado, já que você mencionou que as opções do menu são relacionadas com Menu.

No método Executar, você está limpando a tela, exibindo o título "Opção Inválida" e uma mensagem "Escolha a opção Novamente !!!!". Em seguida, você espera por 2 segundos antes de limpar a tela novamente.

No contexto do código que você compartilhou, quando a opção digitada pelo usuário não corresponder a nenhuma das opções válidas, o programa irá criar uma instância da classe Menuopcaoinvalida e chamar o método Executar. Isso irá exibir a mensagem de opção inválida e limpar a tela. Depois disso, o programa irá chamar o método ExibirOpcoesDoMenu, que provavelmente exibe o menu principal novamente.

Portanto, parece que o código está correto e irá funcionar como esperado.

Se você estiver enfrentando algum problema específico com esse código, por favor, me informe para que eu possa te ajudar de forma mais precisa.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software