为了账号安全,请及时绑定邮箱和手机立即绑定

检查对象的类型是否为IQueryable或IEnumerable

检查对象的类型是否为IQueryable或IEnumerable

C#
蝴蝶不菲 2021-05-03 13:14:37
我有这句话:IEnumerable<Person> persons= context.Persons.Where(/*SomeCondition*/);它声明为,IEnumerable<Person>但使用实例化 IQueryable<Person>。我了解IQueryable<T>继承自IEnumerable<T>。为了实现可重用性,我创建了一个accept方法,IEnumerable而不是分别使用acceptIEnumerable和方法的两个方法IQueryable:public IEnumerable<PersonInfo> GetPersonInfo(IEnumerable<Person> persons){     persons = persons.Where(/*Some condition*/);    IEnumerable<Person>  persons = persons.GroupBy(/*based on some property*/);    /*Here i want check value type of persons is IQueryable or not*/    return persons;}在消费方面,我有:IQueryable<Person> persons= context.Persons.Where(/*condition*/);IQueryable<PersonInfo> result GetPersonInfo(persons.AsEnumerable()).AsQueryable();对于内存中收集,我有:List<Person> persons = new List<Person> { new Person {}};IEnumerable<Person> result = GetPersonInfo(persons);在GetPersonInfo方法,我怎么能检查persons是IQueryable或不是?
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

很容易成为解决方案,但是如果我正确理解了您的问题。

if (persons is IQueryable)


查看完整回答
反对 回复 2021-05-08
  • 1 回答
  • 0 关注
  • 194 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信