我有两个类似的功能,我希望重构,以消除重复:电话委托不指定委托的参数
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的参数值。
对此提出建议?