Créer IEnumerable<T>.Find()

Je voudrais écrire:

IEnumerable<Car> cars;
cars.Find(car => car.Color == "Blue")

Puis-je l'obtenir avec les méthodes d'extension? La suite de l'échec car il appelle de manière récursive lui-même, plutôt que d'appeler IList.Find().

public static T Find<T>(this IEnumerable<T> list, Predicate<PermitSummary> match)
{
    return list.ToList().Find(match);
}

Merci!

OriginalL'auteur Brian Low | 2010-06-03