私はこのようなクラスを持っています:
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 ドライバーによって解析される新しいツリー式を作成する必要があります。式ツリーで他の Compile メソッドを呼び出すことができません。
ExpressionVisitorを使用する必要があると思いますが、方法がわかりません...