İki lambda ifadesini bir OR? Kullanılarak nasıl birleştirebilirim?Lambda ifadeleri ve bunları nasıl birleştireceksiniz?
ancak ben yeni lambda geçirilen değeri her çocuk lambda üzerine geçirmek istediğinizi aşağıdaki ancak bunları birleştirme Expression.Invoke aramalar içine parametrelerini geçirmek açmamı çalıştık ..
Expression<Func<int, bool>> func1 = (x) => x > 5;
Expression<Func<int, bool>> func2 = (x) => x < 0;
//Combines the lambdas but result in runtime error saying I need to pass in arguments
//However I want the argument passed into each child lambda to be whatever is passed into the new main lambda
Expression<Func<int, bool>> lambda = Expression.Lambda<Func<int, bool>>(Expression.Or(Expression.Invoke(func1), Expression.Invoke(func2)));
//The 9 should be passed into the new lambda and into both child lambdas
bool tst = lambda.Compile().Invoke(9);
İki lambda ifadesinin nasıl birleştirileceği ve çocuk lambdasının argümanlarının ebeveynlere ait olduğuyla ilgili herhangi bir fikir var mı?
"Birleştir" dediğinizde, gerçekte ne olmasını istiyorsunuz? Geçilen argümanın "7" - "func1" ifadesinin doğru olduğunu ve "func2" nin false değerini döndüreceğini varsayalım. Kombinasyonun geri dönmek için ne istiyorsun? –