Func<T, TResult>
任意の数のデリゲートを登録する方法を提供する必要があるクラスがあります。
これらは、後で一連の操作中にクラスで呼び出されます。
これらの代理人を登録する機能を公開する正しい方法は何ですか?IEnumerable<Func<T, TResult>>
それは、、、IList<Func<T, TResult>>
の単なる公共財産ReadOnlyCollection<Func<T, TResult>>
ですか?
ここで一般的に使用される特定のパターンはありますか?
具体的には..
シナリオを想定する
public class Foo
{
public List<Func<Control, Func<bool>>> Conditions { get; set; }
public void DoWork()
{
foreach (Func<Control, Func<bool>> condition in this.Conditions)
var result = condition.Invoke(new Control());
}
}
これは許容できる実装ですか?