指定された頻度を使用して、2 つのエンドポイント間のすべての日付を取得したいと考えています。だから私はこの単純なコードに基づいてアプローチしています:
for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
datesBetween.Add(date);
現在、(上記のように) 日を追加したり、月を追加したり、年を追加したりする必要がある場合があります。FrequencyEnum
したがって、a を使用してコードを 3 回繰り返すこともできますが、 orswitch
ではなくデリゲート拡張メソッドを割り当てることができるかどうか疑問に思っています。.AddDays
.AddMonths
.AddYears
むしろ、私は次のようなことをしたいと思います:
for (DateTime date = startDate; date <= endDate; date = date.AddFrequency)
datesBetween.Add(date);
where.AddFrequency
は、私の頻度に必要な拡張メソッドを定義するデリゲートです。
あるいは、拡張メソッドを使用できず、単純に日付パラメーターを受け取る関数を使用して、必要に応じて返すこともできませんでした。