次のようなコードを書きたい -
public IQueryable<Invoice> InvoiceFilterForMonthAndYear(DateTime? monthAndYear = null)
{
var invoices = _invoices.Where(MonthAndYearPredicate(monthAndYear);
return invoices;
}
private bool MonthAndYearPredicate(Invoice invoice, DateTime? monthAndYear)
{
//code to check if the invoice start or end dates is from the falls in the month I am checking for
}
しかし、述語は 1 つのパラメーターしか想定していないため、そのような述語を使用することはできません。
作業を行うために Where 句を記述できることはわかってInvoiceFilterForMonthAndYear
いますが、比較のロジックを独自のメソッドに入れたいと考えています。