OrderedDictionary クラスの拡張としてオーバーロードされた Add メソッドを作成しようとしていますが、カリー化された述語に基づいてキー/値を追加したいと考えています。
呼び出しコードは次のようになります。
OrderedDictionary dict = new OrderedDictionary();
Predicate<int> lessThan5 = i=>; i < 5;
Predicate<string> lenOf2 = s=> s.length == 2;
dict.Add("01","Name", lessThan5 );
dict.Add("02","place", lenOf2);
次のような拡張メソッドを作成しました。
public static class CollectionExtensions
{
public static void Add(this OrderedDictionary s, string k, string v, Predicate p)
{
if (p)
{
d.Add(k, v);
}
}
}
しかし、「Predicate を bool に変換できません」というコンパイラ エラーが表示されるため、機能しません。
誰かが私が欠けているものを知っていますか?
助けてくれてありがとう。-キース