Si uno llama el método .Max()
extensión en un IEnumerable<T>
, y los objetos dentro de no aplicar IComparable
, uno tiene System.ArgumentException: At least one object must implement IComparable.
¿Por qué IEnumerable <T> .Max no obliga a ser IComparable?
¿Por qué no Max
y métodos similares constriñen T
para implementar IComparable
, por lo que este problema puede ser capturado en tiempo de compilación en lugar de en tiempo de ejecución?
Mientras escribía la pregunta pensé en una respuesta, pero aun así pensé que valía la pena preguntar. –