Joh*_*ohn 0 c# asp.net ienumerable asp.net-mvc-3
这是回归IEnumerable还是IQueryable?
public IEnumerable<OrderRecord> GetAll()
{
return _repository.Table.Where(x => x.ClientAccount.Id == _userSession.GetCurrentClientAccount()).AsEnumerable();
}
Run Code Online (Sandbox Code Playgroud)
然后,使用断点@ IEnumerable,它不会返回IEnumerable?为什么Queryable在NHibernate.Linq.NhQuerable(调试的第一行)中说出来?
它返回一些实现的东西IEnumerable<T>.那个事实同时实现的IQueryable<T>事实并不重要.
这同样适用于以下情况:
public ICollection<string> GetCollection()
{
return new List<string>();
}
Run Code Online (Sandbox Code Playgroud)
如果您尝试检查从GetCollection您返回的内容,将获得实际的类名称,List<string>在该示例中.但是因为方法签名声明它返回,ICollection<T>你只能访问由ICollection<T>接口公开的方法/属性(ofc.除非你明确地将它返回到List<string>).
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |