私はプライベートリストを持っています。リストを照会し、新しいクローンアイテムで新しいリストを返す機能が公開されています。フィルタリングと並べ替えの代理人を渡すことはできますが、これはうまくいきますが、Linq式を使用できるようになるとはるかにエレガントになります。プライベートリストで使用するLINQ式を公開/渡す
私は何をしようとしているのかの簡単な例を追加しました。これは、私がうまくやりたいことを説明したとは思えません。
public class Repository
{
private List<SomeModel> _models;
private object _lock;
public List<SomeModel> GetModels(Func<SomeModel, bool> predicate)
{
List<SomeModel> models;
lock (_lock)
{
models = _models.Where(m => predicate(m))
.Select(m => new SomeModel(m))
.ToList();
}
return models;
}
}
実際には、フィルタリング、順序付けとページングを行い、「expression.Compile()。Invoke(..)」のような何かをLinq式で渡すことを望んでいました。質問#53597は私がやりたいことと似ています。 – tarn