No curso "C#: aplique princípios SOLID", na aula "Testes para JSON", é usado o seguinte trecho de código:
using System.Text.Json
// código omitido…
public IEnumerable<Pet> RealizaLeitura()
{
using var stream = new FileStream(caminhoArquivo, FileMode.Open, FileAccess.Read);
return JsonSerializer.Deserialize<IEnumerable<Pet>>(stream);
}
Gostaria de entender qual a lógica utilizada pelo método JsonSerializer.Deserialize
, principalmente por ele retornar a interface IEnumerable<PET>
. Qual o tipo da instância do objeto real que ele retorna?