我有一个类需要提供一种方法来注册任意数量的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());
}
}
这是一个可接受的实现吗?