Por que retornar uma interface de coleção em vez de um tipo concreto? [duplicado]
Esta pergunta já tem uma resposta aqui:
Lista <T> ou IList <T> 18 respostasPercebi no código de outras pessoas que os métodos que retornam coleções genéricas quase sempre retornam uma interface (por exemplo,IEnumerable<T>
ouIList<T>
) em vez de uma implementação concreta.
Eu tenho duas perguntas relacionadas. Em primeiro lugar, por que (se é que existe) é considerado melhor retornar uma interface? Em segundo lugar, existe uma interface de coleção que inclui o método Sort (comoList<T>
faz)?