none
Coleções em C# RRS feed

  • Pergunta

  • Pessoal, porque num método abstrato que retorna uma lista de objetos eu só posso usar o IQueryable<T> ?

    Por que eu não posso utilizar outro tipo de coleção, como List<T> ?

    quinta-feira, 26 de junho de 2014 21:12

Respostas

  • Ricardo,

     esse assunto eu vou deixar para você pesquisar no google porque há algumas diferenças enormes rs,

     mas resumindo e bem resumido utiliza-se Queryable quando se quer gerar query em algum ORM por exemplo LinqToSql, Entity Framework, agora se você possui uma classe e usa os dados em memóia não faz sentido utilizar Queryable entende !

     E List é somente a "saida" de dados no formato ou seja na tipagem List<int>, List<string>, List<T>, e que implementa IEnumerable<T> ou seja é uma coleção "enumerável" e não é diretamente relacionada a "QUERY" !

    sexta-feira, 27 de junho de 2014 01:54

Todas as Respostas

  • Olá Ricardo,

      você pode mas depende do tipo de método que você declarou em sua classe abstrata, se declarou que o retorno é um List<T> sua classe derivada vai definir esse método com retorno List<T>, lembre-se que uma classe abstrata é uma abstração de uma funcionalidade ! Por exemplo :

    abstract class Abstrat
        {
           public abstract List<T> RetornaObjetos<T>(List<T> item);
           
        }
     A classe derivada vai ter um método chamado RetornaObjetos com o retorno List<T> !

    quinta-feira, 26 de junho de 2014 23:40
  • Obrigado pela resposta Daniel, só que eu fiquei com uma dúvida :

    Tem diferença usar o Queryable e o List ?

    sexta-feira, 27 de junho de 2014 01:45
  • Ricardo,

     esse assunto eu vou deixar para você pesquisar no google porque há algumas diferenças enormes rs,

     mas resumindo e bem resumido utiliza-se Queryable quando se quer gerar query em algum ORM por exemplo LinqToSql, Entity Framework, agora se você possui uma classe e usa os dados em memóia não faz sentido utilizar Queryable entende !

     E List é somente a "saida" de dados no formato ou seja na tipagem List<int>, List<string>, List<T>, e que implementa IEnumerable<T> ou seja é uma coleção "enumerável" e não é diretamente relacionada a "QUERY" !

    sexta-feira, 27 de junho de 2014 01:54