Olá boa noite! Estou com uma dificuldade em resolver um erro que estou ganhando no código do exercício 2 do curso 3 (C# Dominando a orientação a objetos) e aula 1 (Organizando o projeto): Na classe principal program.cs está ocorrendo o erro CS1503 (veja imagem abaixo). Pesquisei o que é esse erro, até entendi do que se trata mas não consegui resolver no meu código. Seguem os códigos. Muito obrigado pela ajuda e atenção.
using Alura.filmes;
Filme filme = new Filme("Um sonho de liberdade", 142, new List<string>() { "Tim Robbins", "Morgan Freeman" });
Filme filme2 = new Filme("O poderoso chefão", 175, new List<string>() { "Marlon Brando", "Al Pacino", "Talia Shire" });
Filme filme3 = new Filme("Batman - O Cavaleiro das Trevas", 152, new List<string>() { "Christian Bale", "Heath Ledger", "Maggie Gyleenhaal" });
Filme filme4 = new Filme("Senhor dos Anéis - O Retorno do Rei", 201, new List<string>() { "Elijah Wood", "Ian McKellen", "Viggo Mortensen" });
Filme filme5 = new Filme("Green Book - O Guia", 130, new List<String>() { "Viggo Mortensen", "Mahershala Ali" });
List<Filme> meusFilmesFavoritos = new List<Filme>();
meusFilmesFavoritos.Add(filme);
meusFilmesFavoritos.Add(filme2);
meusFilmesFavoritos.Add(filme3);
meusFilmesFavoritos.Add(filme4);
meusFilmesFavoritos.Add(filme5);
foreach (Filme f in meusFilmesFavoritos) {
Console.WriteLine($"Filme: {f.Titulo}");
Console.WriteLine($"Duracao: {f.Duracao}");
f.ListarElenco();
Console.WriteLine();
}
namespace Alura.filmes {
class Filme {
public List<Artista> Elenco { get; set; }
public string Titulo { get; set; }
public int Duracao { get; set; }
public Filme(string titulo, int duracao, List<Artista> elenco) {
if (elenco == null) {
Elenco = new List<Artista>();
}
else {
Elenco = elenco;
foreach (var artista in Elenco) {
artista.AdicionarFilme(this);
}
}
Titulo = titulo;
Duracao = duracao;
}
public void AdicionarElenco(Artista artista) {
Elenco.Add(artista);
if (!artista.FilmesAtuados.Contains(this)) {
artista.AdicionarFilme(this);
}
Console.WriteLine($"{artista} adicionado/a ao elenco.");
}
public void ListarElenco() {
if (Elenco.Count == 0) {
Console.WriteLine("Elenco vazio.");
}
else {
Console.WriteLine("Elenco... ");
foreach (var artista in Elenco) {
Console.WriteLine(artista.Nome);
}
}
}
}
}
using Alura.filmes;
class Artista {
public string Nome { get; set; }
public int Idade { get; set; }
public List<Filme> FilmesAtuados { get; set; }
public int QuantidadeDeFilmes => FilmesAtuados.Count;
public Artista(string nome, int idade) {
Nome = nome;
Idade = idade;
FilmesAtuados = new List<Filme>();
}
public void AdicionarFilme(Filme filme) {
FilmesAtuados.Add(filme);
if (!filme.Elenco.Contains(this)) filme.AdicionarElenco(this);
}
public void MostrarFilmesAtuados() {
if (this.FilmesAtuados.Count == 0) {
Console.WriteLine($"Nenhum filme encontrado na base para {this.Nome}");
return;
}
Console.WriteLine($"Filmes de {this.Nome}...");
foreach (var filme in FilmesAtuados) {
Console.WriteLine($"Filme: {filme.Titulo}");
}
}
}