Linq IEnumerable接口如何具有ToList()方法
我的代码:Linq IEnumerable接口如何具有ToList()方法,linq,ienumerable,iqueryable,tolist,Linq,Ienumerable,Iqueryable,Tolist,我的代码: internal DbSet<TEntity> DbSet; public virtual IEnumerable<TEntity> Get() { IQueryable<TEntity> query = DbSet; return query.ToList(); } 正如您在上面看到的,我们正在调用ToList方法。当我进入IQueryable时,我看到它继承了IEnumerable,但在IEnumerable中我看不到任何ToL
internal DbSet<TEntity> DbSet;
public virtual IEnumerable<TEntity> Get()
{
IQueryable<TEntity> query = DbSet;
return query.ToList();
}
正如您在上面看到的,我们正在调用ToList方法。当我进入IQueryable时,我看到它继承了IEnumerable,但在IEnumerable中我看不到任何ToList方法。这种方法从何而来,又是如何产生的?您能帮助我吗。为IQueryable和IEnumerable提供的扩展方法通常分别在Queryable和Enumerable类型中找到 请记住,前者是接口。接口不能定义实现。这些是带有实现的扩展方法,这意味着它们需要在静态类中定义为静态方法 [MSDN] [MSDN] [MSDN]
你在找什么?谢谢你,杰伦。对扩展方法感兴趣的人此链接提供了有用的信息: