我有兩個類似的功能,我希望重構,以消除重複:電話委託不指定委託的參數
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的參數值。
對此提出建議?