Tengo un método genérico con este código (ficticio) (sí, sé que IList tiene predicados, pero mi código no está usando IList sino alguna otra colección, de todos modos esto es irrelevante para la pregunta ...) static T FindThing<T>(IList collection, int id) where T : IThing, new() { foreach...