私は次のメソッド定義を持っています(冗長なジェネリックを削除するために編集されました):
public static T SearchAgaistValues<T>(Dictionary<string, string> input,
string key, List<T> values, Predicate<T> match, out string[] cmdParams)
私の簡略化された要件は次のとおりです。を検索する必要がありますinput。key見つかった場合は、その値がに表示されるかどうかを確認しますvalues。ただし、values一般的です(そして、明らかに一致する必要のある文字列が含まれます)。したがって、私の見方では、マッチングを実行するために述語メソッドを渡す必要があります。
ただし、Predicate<T>私が見たすべての例には、ハードコードされたコンパレータがあります。key's見つかった値をの各項目と比較する必要がありますvalues。ただし、これらの値を渡すことはできません。
デリゲートベースのmatchメソッドを使用してforeachループの外でこれを行う方法がわかりません。
ここで何かが足りませんか?