これは、私が学ぼうとしていることに対する言葉遣いの悪い質問かもしれないので、私がやろうとしていることを説明します。次の式を使用して作成されている次のリストがあります。
var showIndexes = from item in lItems
where WildcardString.IsMatch(item.RecordId.ToString(), filter) ||
WildcardString.IsMatch(item.Tokens.ToString(), filter) ||
WildcardString.IsMatch(string.Format("{0}:{1}", item.OwnerID.SystemName, item.OwnerID.Port.ToString()), filter) ||
WildcardString.IsMatch(item.ChildID.UserName, filter) ||
WildcardString.IsMatch(item.TypeOfLicense.ToString(), filter) ||
WildcardString.IsMatch(item.ExpiryTime.DateTime.ToLocalTime().ToString(), filter)
select item.RecordId.ToString();
この式を関数に入れ、「where」で使用される制約を 1 つのパラメーターとして渡したいと考えています。どうすればこれを達成できますか? ファイル属性を操作するとき (異なる属性列挙型を選択するとき) にビットごとの OR を使用して同様の機能を見たことがあるので、デリゲートのグループを "where" ルールとして受け取る独自の関数を作成できるはずです。
関連する場合、WildcardString.IsMatch(string, string) はブール関数です。また、まったく同じことを実行する3つの異なる関数がありますが、リストが異なるため、これを1つの関数に減らし、リストと選択ルールを渡す方法を学びたいのです.