Primeiramente percebi que os que conseguiram estão usando a linguaguem de alto padrão, no meu caso não, sim ainda tem o void Main na program. Estou com erro de tipo ao tentar usar o método que printa os resultados na tela, segue o código :
static async Task Main(string[] args)
{
try
{
HttpClient client = new HttpClient();
string response = await client.GetStringAsync("https://www.anapioficeandfire.com/api/characters/16")!;
Console.WriteLine(response);
var obj = JsonSerializer.Deserialize<Model>(response);
Console.WriteLine(obj.Gender);
Console.WriteLine(obj.Name);
Console.WriteLine(obj.Culture);
Console.WriteLine(obj.ShowDetails()); //erro aq
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Como podem ver tive que mudar o Main de void para Task para usar o await na requisição e mudar para async tambem. Minha classe modelo :
[JsonPropertyName("name")]
public string? Name { get; set; }
[JsonPropertyName("gender")]
public string? Gender { get; set; }
[JsonPropertyName("culture")]
public string? Culture { get; set; }
public void ShowDetails()
{
Console.WriteLine($"Nome: {Name}");
Console.WriteLine($"Gênero: {Gender}");
Console.WriteLine($"Cultura: {Culture}");
}
Exatamente igual ao exemplo porem, depois de uns 2 3 dias tentando entender oq fiz de errado, lembrei que não uso a "linguagem de auto nivel" (esqueci o nome que chama). Basicamente tá reclamando que não posso converter de void para bool, essa parte entendi, porém não tenho certeza de como contornar isso ? Pensei em criar um construtor? e printar os parâmetros recebidos, enfim quem puder me ajudar kkkkkkk