Digamos que me gustaría agregar un método de extensión llamado IsOdd() a los tipos de datos numéricos en .NET. La implementación de esto, sin embargo, será prácticamente la misma para los tipos de datos como Int16, Int32, Int64, etc., excepto por el parámetro que se define para el método de extensión. Realmente no me gusta esta redundancia, pero me pregunto si no hay forma de evitarla.¿Evitar los métodos de extensión .NET para tipos de datos numéricos?
¿Hay una mejor manera de manejar esto? ¿Debo, por ejemplo, implementar un método de extensión para System.Math y crear definiciones sobrecargadas para IsOdd()? En resumen, tengo curiosidad por saber si los métodos de extensión para los tipos de datos numéricos generalmente deberían evitarse por completo, debido a su redundancia inherente.
Bueno, yo evitaría poner un método de extensión de esos tipos, simplemente porque se utilizan tan comúnmente, una que no se necesitaría 'IsOdd' muy a menudo. Sería abarrotarlos. – Servy
... para agregar al comentario de @Servy, generalmente se considera una mala práctica agregar métodos de extensión a tipos muy generales como struct & object. En su lugar, simplemente cree una clase estática y realice una prueba con 'MyMath.IsOdd (x)' –