我将反射与linq.Dynamic一起使用,在创建需要获取的查询时遇到了一个小问题 IQueryable<T> 从 IList<T> 或 ISet<T> 当我当前有一个对象时。
IQueryable<T>
IList<T>
ISet<T>
object Helper<T>( IList<T> list, string query, param object[] values ) { ... do query and return result. }
有没有一个简单的方法来解决这个问题?我也试图避免动态调用这个helper函数。
编辑: 基本上,我有一个屏幕guid 10和一个XPath字符串“水果篮/水果[crime==true]/color” 因此,我知道在我的反射代码中,水果是一个IList。我检查该属性以确定它是否实现了IList。现在,我正处于需要查询此集合以挑选水果的位置。crime==true对象。为此,我需要一个演员阵容
如果你只有 object ,您希望编译器如何知道 T 应该是?
object
T
你 T 应该是(甚至就调用方法的另一个类型参数而言)?如果不是你 将 必须动态地调用它。
这是吗 事实上 IList<T> 对一些人来说 T ? 如果实施,将会发生什么 IList<T> 两种不同的类型?
将 要求您在编译时知道类型参数。