linq - Retrive value of lambda expression -


i have function :

public static iqueryable<tsource> whereif<tsource>(this iqueryable<tsource> source, expression<func<tsource, bool>> exp1, expression<func<tsource, bool>> exp2, expression<func<tsource, bool>> exp3)     {       } 

and use function :

adverts.whereif(x=>x.deactivateddate.hasvalue, x => x.deactivateddate.value > stardatetime, x => x.modifieddate > stardatetime); 

how can value of exp1 ?

in extenssion need know if deactivateddate.hasvalue true

you can evaluate expression, need instance of tsource evaluate against. since "input" collection of tsource youe solution might like:

foreach(tsource t in source) {     bool istrue = exp1.compile()(t);  //  evaluate exp1 item     if(istrue)         //     else         // else }  

but note return type in iqueryable<tsource> - i'm not sure you've thought through how intend build resulting query...


Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -