1
resposta

[Projeto] Solução do desafio (Não soube adicionar as classes nas duas listas ao mesmo tempo).

Filme.cs

namespace Alura.Filmes;

class Filme
{
    public Filme(string titulo, int duracao)
    {
        Titulo = titulo;
        Duracao = duracao;
    }

    public string Titulo { get; }
    public int Duracao { get; }
    
    public List<Artista> Elenco = new List<Artista>();


    public void ExibirInformacao()
    {
        Console.WriteLine($"\nO filme {Titulo} possui {Duracao} minutos de duração com o elenco:");
        foreach (Artista artista in Elenco)
        {
            Console.WriteLine(artista.Nome);
        }
    }
}

Artista.cs

namespace Alura.Filmes;

class Artista
{
    public Artista(string nome, int idade)
    {
        Nome = nome;
        Idade = idade;
    }

    public string Nome { get; }
    public int Idade { get; }

    public List<Filme> atuouFilmes = new List<Filme>();
    public void AdicionarFilme(Filme filme)
    {
        atuouFilmes.Add(filme);
    }
    public void ExibirTrabalhos()
    {
        Console.WriteLine($"\nEste artista {Nome} atuou em:");
        foreach (Filme filme in atuouFilmes) {
            Console.WriteLine($"{filme.Titulo}");

        }
    }
}

Program.cs

jimCarrey.AdicionarFilme(oMentiroso);
jimCarrey.AdicionarFilme(todoPoderoso);
jimCarrey.AdicionarFilme(oMentiroso);
jimCarrey.AdicionarFilme(sonic);
jimCarrey.AdicionarFilme(pinguinsPapai);
1 resposta

Olá, Lorenzo.

Tudo bem?

Vi que você está progredindo bem no desafio de orientação a objetos, especialmente na parte de relacionamento entre as classes Filme e Artista. Você mencionou dificuldade em adicionar as classes nas duas listas ao mesmo tempo. Para resolver isso, uma dica é criar um método que cuide dessas adições em ambos os sentidos, evitando inconsistências e garantindo que, ao adicionar um filme para um artista, o artista também seja adicionado ao elenco do filme.

Continue com essa dedicação. Parabéns!

Bons estudos.