У меня есть две похожие функции, которые я надеюсь изменить для устранения дублирования:
IEnumerable<TotalType> GetTotalForMonths(string id, DateTime lastTotalDate)
{
for (int i = 0; lastTotalDate.AddMonths(i + 1) <= DateTime.Now; i++)
{
var totalStartDate = new DateTime(lastTotalDate.AddMonths(i).Year, lastTotalDate.AddMonths(i).Month, 1);
var totalEndDate = totalStartDate.AddMonths(1);
var total = this.GetTotal(id, totalStartDate, totalEndDate);
yield return new TotalType(id, total, new TimeInterval(totalStartDate, totalEndDate));
}
}
Другой делает то же самое в течение нескольких дней. Я надеюсь передать делегата для определения конкретной продолжительности (дни, месяцы и т. Д.). Я попытался передать Func<DateTime, DateTime> addTime
, что хорошо работает, за исключением того, что я не хочу указывать значение аргумента addTime.
Предложения