1
resposta

Resoluçao

class Episodios
{
    private List<string> NomeConvidados = new();

    public Episodios(string titulo, int ordem, int duracao)
    {
        Titulo = titulo;
        Ordem = ordem;
        Duracao = duracao;
        
    }

    public string Titulo { get;  }
    public int Ordem { get;  }
    public int Duracao { get;  }
    public string Resumo => $"Titulo: {Titulo} -- Duração: {Duracao} -- Ordem: {Ordem} -- Convidado: {string.Join (",",NomeConvidados)}";
    public string Convidado { get; set; }
    

    public void AdicionarConvidados() 
    {
        NomeConvidados.Add(Convidado);
    }
}
class Podcast
{
    private List<Episodios> episodios1 = new();
    public Podcast(string nome, string host)
    {
        Nome = nome;
        Host = host;
    }

    public string Nome { get;}
    public string Host { get;}
    public int TotalEpisodios => episodios1.Count;

    public void AdicionarEpisodios(Episodios episodios)
    {
        episodios1.Add(episodios);
    }
    public void ExibirDetalhes()
    {
        Console.WriteLine($"Nome: {Nome} -- Host: {Host}");
        foreach(Episodios episodios in episodios1.OrderBy(e =>e.Ordem))
        {
            Console.WriteLine(episodios.Resumo);
        }
        Console.WriteLine($"Total de episodios: {TotalEpisodios}");

    }

}
1 resposta

Olá Marcelo, bom dia!

Pelo que eu vi no seu código, você está no caminho certo para implementar as classes Episodios e Podcast em C#. No entanto, há algumas melhorias que podemos fazer para seguir as boas práticas e resolver possíveis problemas.

  1. Classe Episodios:

    • No método AdicionarConvidados, atualmente você está usando a propriedade Convidado para adicionar convidados à lista NomeConvidados. Seria mais interessante passar o nome do convidado como argumento do método, assim como foi sugerido no exercício. Isso tornaria o método mais flexível e intuitivo.
    public void AdicionarConvidados(string convidado) 
    {
        NomeConvidados.Add(convidado);
    }
    
    • Com essa mudança, você pode remover a propriedade Convidado, já que ela não será mais necessária.
  2. Classe Podcast:

    • A implementação da classe Podcast parece estar correta. Você está armazenando os episódios em uma lista e exibindo os detalhes de forma organizada.
  3. Exemplo de Uso:

    • Ao criar um episódio e adicionar convidados, você pode fazer o seguinte:
    Episodios ep1 = new("Técnicas de Facilitação", 1, 45);
    ep1.AdicionarConvidados("Maria");
    ep1.AdicionarConvidados("Marcelo");
    Console.WriteLine(ep1.Resumo);
    
    • E então, para adicionar o episódio a um podcast:
    Podcast podcast = new("Meu Podcast", "Host do Podcast");
    podcast.AdicionarEpisodios(ep1);
    podcast.ExibirDetalhes();
    

Com essas alterações, seu código deve estar alinhado com as boas práticas de programação em C# e funcionar conforme o esperado. Espero ter ajudado e bons estudos! Qua