我有以下方法定义(已编辑以删除冗余泛型):
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
的值与values
中的每个项进行比较。但是,我不能传递这些值。我看不到可以在委托基于匹配方法的foreach循环之外完成此操作的方法。 我在这里错过了什么吗?