我有这样的课:
public class Person
{
public string Name { get; set; }
public string Email { get; set; }
// ...
}
我还有另一个通用类,例如:
public class MyParentObject<T>
{
public T Item { get; set; }
// ...
}
例如,我有一个这样的表达式:
Expression<Func<Person, bool>> expression = p => p.Name == "MyName" && p.Email = "example@test.com"
如何将此表达式转换为:
Expression<Func<MyParentObject<Person>, bool>> expression = p => p.Item.Name == "MyName" && p.Item.Email = "example@test.com"
编辑 :
我认为我的问题还不够完善,我想要这样的方法:
public static Expression<Func<MyParentObject<T>, bool>> GetParentExpression(Expression<Func<T, bool>> expression)
{
Expression <Func<MyParentObject<T>, bool>> result = // process...
// ...
return result;
}
编辑 :
我必须创建一个新的树表达式,然后由 c# mongodb 驱动程序解析。我不能在表达式树上使用 Invoke an other Compile 方法。
我想我必须使用ExpressionVisitor但我不知道如何......