c# - Expression<Func<in T, bool>> 或 Expression<Func<TBase,bool>> 到 Expression<Func<T,bool>> 转换器

标签 c# generics expression-trees

有没有简单的转换方法

Expression<Func<TBase,bool>> 

Expression<Func<T,bool>>

T从哪里继承自TBase?

最佳答案

只要 T 派生自 TBase,您就可以使用原始表达式的主体和参数直接创建所需类型的表达式。

Expression<Func<object, bool>> x = o => o != null;
Expression<Func<string, bool>> y = Expression.Lambda<Func<string, bool>>(x.Body, x.Parameters);

关于c# - Expression<Func<in T, bool>> 或 Expression<Func<TBase,bool>> 到 Expression<Func<T,bool>> 转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6177196/

相关文章:

c# - XML 递归反序列化

c# - .NET 中的 PDF 二进制数据输出

具有剩余类型的 Typescript 泛型函数重载

.net - 使用 Expression<Func<object>> 作为字典中的键

c# - 动态为ctor创建委托(delegate)

c# - 为 string.Contains 构建表达式树

c# - 创建新标准 .NET 项目时的依赖项警告

c# - Visual Studio 项目平台相关引用

java - 为什么不能列出 <? extends List<T>> 被分配给 List<List<T>>

java - 在具有泛型参数的泛型方法中使用 Spring RestTemplate