Em relação ao primeiro desafio, gostaria de compartilhar a solução a que cheguei, que consiste em criar uma classe "enum Key":
namespace ScreenSoundAPIClient
{
public enum Key
{
C = 0,
Csharp = 1,
D = 2,
Dsharp = 3,
E = 4,
F = 5,
Fsharp = 6,
G = 7,
Gsharp = 8,
A = 9,
Asharp = 10,
B = 11,
}
}
E atualizando a classe "Musica" para ficar assim:
using System.Text.Json.Serialization;
namespace ScreenSoundAPIClient.Models
{
internal class Music
{
[JsonPropertyName("artist")]
public string? Artist { get; set; }
[JsonPropertyName("song")]
public string? Song { get; set; }
[JsonPropertyName("duration_ms")]
public int? Duration { get; set; }
[JsonPropertyName("genre")]
public string? Genre { get; set; }
[JsonPropertyName("key")]
public Key SongKey { get; set; }
public void ShowDetails()
{
Console.WriteLine($"Artist: {Artist}");
Console.WriteLine($"Song: {Song}");
Console.WriteLine($"Duration: {Duration / 1000}");
Console.WriteLine($"Genre: {Genre}");
Console.WriteLine($"Key: {SongKey}");
}
}
}
A única parte ruim dessa solução foi que ainda é necessário criar alguns métodos para exibir as 'Keys' como proposto na aula ex:(C#, F#, A#). Porém, acredito que é uma maneira válida e gostaria de compartilhá-la aqui no fórum para demonstrar como podemos utilizar 'enums' :)