C# Expressionable<Func<T, bool>> 封装成公共方法
时间: 2023-12-03 08:03:36 浏览: 116
C# 公用函数包
4星 · 用户满意度95%
你可以采用以下的方式将 C# Expressionable<Func<T, bool>> 封装成公共方法:
```csharp
public static class ExpressionableExtensions
{
public static Expression<Func<T, bool>> ToExpression<T>(this Expressionable<Func<T, bool>> expressionable)
{
var expression = expressionable.ToExpression();
return expressionable.ToLambda(expression);
}
}
```
这个方法将 Expressionable 对象转换为 Expression<Func<T, bool>> 对象,使其更易于使用。通过这个方法,你可以将 Expressionable 对象转换为可以使用的表达式,例如:
```csharp
var predicate = Expressionable.Create<Person>(p => p.Age > 18 && p.Gender == Gender.Male).ToExpression();
var people = dbContext.People.Where(predicate);
```
阅读全文