Ho un semplice metodo che contiene una query per calcolare alcuni valori.Come potrei usare Func <> per modificare una singola condizione di una lambda
private decimal MyQueryBuilderMethod(List<ThingsViewModel> myThings)
{
return myThings.Where(x => x.Id == 1)
.Select(x => (x.ThisValue * x.That))
.Sum();
}
Il mio obiettivo è quello di modificare il metodo per permettere a me di specificare il campo x.ThisValue interrogato nell'oggetto.
Se dovessi specificare la clausola Where della mia query, potrei passare un predicato ma in questo caso, voglio solo modificare il valore di x.ThisValue.
private decimal MyQueryBuilderMethod(List<ThingsViewModel> myThings, Func<ThingsViewModel,bool> predicates)
{
return myThings.Where(predicates)
.Select(x => (x.ThisValue * x.That))
.Sum();
}
Idealmente, vorrei passare a qualcosa di simile:
MyQueryBuilderMethod(things, x.ThisOtherValue)