Basit bir ebeveyn/alt sınıf yapısı verildi. Ebeveyne bir çocuk lambda ifadesi uygulamak için linqkit kullanmak istiyorum. Lambda ifadesinin bir yardımcı program tarafından sağlanmasını istiyorum.LinqKit System.InvalidCastException Üye özellik üzerinde yöntemle sağlanan ifadeyi çağırırken
public class Foo
{
public Bar Bar { get; set; }
}
public class Bar
{
public string Value { get; set; }
public static Expression<Func<Bar, bool>> GetLambdaX()
{
return c => c.Value == "A";
}
}
...
Expression<Func<Foo, bool>> lx = c => Bar.GetLambdaX().Invoke(c.Bar);
Console.WriteLine(lx.Expand());
Yukarıdaki kod
System.InvalidCastException: Unable to cast object of type
'System.Linq.Expressions.MethodCallExpression' to type
'System.Linq.Expressions.LambdaExpression'.
at LinqKit.ExpressionExpander.VisitMethodCall(MethodCallExpression m)
at LinqKit.ExpressionVisitor.Visit(Expression exp)
at LinqKit.ExpressionVisitor.VisitLambda(LambdaExpression lambda)
at LinqKit.ExpressionVisitor.Visit(Expression exp)
at LinqKit.Extensions.Expand<TDelegate>(Expression`1 expr)
Yardım edecektim ama kodunuzu derlemek için alamıyorum. Lx hattı çalışmıyor. – Nix
Benim için derleme yaparsa, lx satırı örneğin bir – user293499