Devi creare una funzione che riceve come parametro il tipo della tua lista.
Ti posto un piccolo esempio. Ho fatto una classe utente e un Predicate che si chiama "RicercaUtente" che ricerca l'utente 11. Nell'esempio popolo la collection con 10 valori e poi richiamo la find passandogli il predicate..
private static void CercaInLista()
{
List<Utente> users = new List<Utente>();
for (int i = 0; i < 10; i++)
{
Utente tmp = new Utente();
tmp.IDUtente = i;
tmp.Cognome = String.Format("Cognome {0}", i);
users.Add(tmp);
}
if (users.Find(RicercaUtente) != null)
Console.WriteLine("Elemento trovato");
else
Console.WriteLine("Elemento non trovato");
}
public static bool RicercaUtente(Utente usr)
{
return (usr.IDUtente == 11);
}
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko