次のようなコードがあります。
public class ActivityHelper
{
public void SetDate(IList<Activity> anActivityList)
{
foreach(Activity current in anActivityList)
{
current.Date = DateTime.Now;
}
}
//More methods, properties, fields, etc...
}
これは、拡張メソッドに簡単に変換できます。例えば:
public static void SetDate(this IList<Activity> aList)
{
foreach(Activity current in anActivityList)
{
current.Date = DateTime.Now;
}
}
元の関数は、ActivityHelper クラスのインスタンス固有のデータやメソッドを使用していないため、間違った場所にあるように見えます。これは、拡張メソッドを作成する適切な時期ですか? 拡張メソッドを作成する正しいシナリオは何ですか?