O programa compila mas não aparece o nome das musicas, não vi nada de errado
main.cs
//Chama a Classe
Album albumDoQueen = new Album();
albumDoQueen.Nome = "A night at the opera";
//Cria o objeto musica 1
Musica musica1 = new Musica();
albumDoQueen.Nome = "Love of My Life";
//cria o objeto musica2
Musica musica2 = new Musica();
albumDoQueen.Nome = "Bohemian Rapsody";
albumDoQueen.AdicionarMusica(musica1);
albumDoQueen.AdicionarMusica(musica2);
albumDoQueen.ExibirMusicasDoAlbum();
Musica.cs
class Musica
{
/*
public string nome;
public int duracao;
public bool disponivel;
public DateTime dataLancamento;
*/
public string Artista { get; set; }//Como a classe está em outro arquivo deve declarar public para se tornar acessivel
public string Nome { get; set; }
//public string genero;
public int Duracao { get; set; }
public bool Disponivel { get; set; }//fornece atribuito de leitura(get) e escrita(set)
public string DescricaoResumida => $"A musica {Nome} pertence a banda{Artista}";//Metodod Lambda, apenas leitura equivale ao de baixo
//Metodo
public void ExibirFichaTecnica()
{
Console.WriteLine($"Nome: {Nome}");
Console.WriteLine($"Artista: {Artista}");
Console.WriteLine($"Duração: {Duracao}");
if (Disponivel)
{
Console.WriteLine("Disponivel no plano");
//ExibirIdetinficação();
}
else
{
Console.WriteLine("Disponivel no plano Plus++");
// ExibirIdetinficação();
}
}
}
Album.cs
class Album
{
//Usa lista para dicionar um campo privado
private List<Musica> musicas = new List<Musica>();
public string Nome { get; set; }
public int DuracaoTotal { get; set; }
public void AdicionarMusica(Musica musica)
{
musicas.Add(musica);
}
public void ExibirMusicasDoAlbum()
{
Console.WriteLine($"Musicas da lista do album {Nome}");
foreach (var musica in musicas)
{
Console.WriteLine($"Musica {musica.Nome}");
}
}
}