Ao ser testado o código da aula, com uma agência inválida, a mensagem de "... A consulta não retornou dados ..." não aparece. Descobri que o seguinte método, na verdade, não retorna null caso não haja respostas, mas sim uma lista de tamanho 0:
List<ContaCorrente> ConsultaPorAgencia(int numeroAgencia)
{
List<ContaCorrente> consulta = new List<ContaCorrente>((
from conta in _listaDeContas
where conta.Numero_agencia == numeroAgencia
select conta
).ToList());
return consulta;
}
Troquei as variáveis var para List para tentar forçar a dar null, mas não deu resultado. A forma que encontrei para ajustar este erro foi forçar o método a passar null para consulta caso a List venha com tamanho == 0:
List<ContaCorrente> ConsultaPorAgencia(int numeroAgencia)
{
List<ContaCorrente> consulta = (
from conta in _listaDeContas
where conta.Numero_agencia == numeroAgencia
select conta
).ToList();
if (consulta.Count() == 0)
{
consulta = null;
}
return consulta;
}
Também gostaria de saber o por quê que esta List não está retornando null.