I am trying to create a function whereby I can pass in a functor/predicate that can slot into a dictionary's 'Where' method.

(cardPool is the dictionary of type 'cardStats')
Pseudo of what I'd like to do:

```
void CardStats findCard(Predicate<CardStats> pred)
{
    return cardPool.Where(pred);
}

```

This code obviously wont work but is simply a rough example of the functionality I am looking for.
I have had no problems setting this up for lists, but for a Dictionary, its really got me stumped.

Any help would be great, thanks!

Edit:
Ahh sorry I should have mentioned more: Cardstats is the value, the key is of type int. I'd like to sift through the values (cardStats) and test their properties such as ID(int) or name(string).