Estou com um erro no meu código que não consegui entender o motivo, meu visual studio aponta erro nessa fração:
entretanto no projeto da aula o código está idêntico:
não entendi o que pode ser esse erro retornado
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou com um erro no meu código que não consegui entender o motivo, meu visual studio aponta erro nessa fração:
entretanto no projeto da aula o código está idêntico:
não entendi o que pode ser esse erro retornado
Olá Isaac, tudo bem com você?
O erro CS1061 indica que o tipo Musicas não contém uma definição para Genero.
Uma possibilidade é que a classe Musica no seu projeto não tenha uma propriedade pública chamada Genero, ou talvez haja algum erro de digitação ou diferença de maiúsculas e minúsculas que está causando o problema.
Verifique se a propriedade Genero existe na classe Musica e se ela está acessível (ou seja, se é pública).
Exemplo de como deve ficar a classe Musica:
internal class Musica
{
private string[] tonalidades = { "C", "C#", "D", "Eb", "E", "F", "F#", "G", "Ab", "A", "Bb", "B" };
[JsonPropertyName("song")]
public string? Nome { get; set; }
[JsonPropertyName("artist")]
public string? Artista { get; set; }
[JsonPropertyName("duration_ms")]
public int Duracao { get; set; }
[JsonPropertyName("genre")]
public string? Genero { get; set; }
[JsonPropertyName("key")]
public int Key { get; set; }
public string Tonalidade {
get
{
return tonalidades[Key];
}
}
public void ExibirDetalhesDaMusica()
{
Console.WriteLine($"Artista: {Artista}");
Console.WriteLine($"Música: {Nome}");
Console.WriteLine($"Duração em segundos: {Duracao /1000}");
Console.WriteLine($"Gênero musical: {Genero}");
Console.WriteLine($"Tonalidade: {Tonalidade}");
}
}
Outro detalhe é que você está usando o atributo Distinc, mas o correto é Distinct():
public static void FiltrarTodosOsGenerosMusicais(List<Musica> musicas)
{
var todosOsGenerosMusicais = musicas.Select(generos => generos.Genero).Distinct().ToList();
foreach (var genero in todosOsGenerosMusicais)
{
Console.WriteLine($"- {genero}");
}
}
Faça essas alterações, salve o arquivo e verifique se obterá êxito.
Espero ter ajudado. Fico à disposição. Abraços e bons estudos!