Restricción genérica para que coincida con los tipos numéricos [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Existe alguna restricción que restrinja mi método genérico a los tipos numéricos? 20 respuestasEstoy tratando de escribir un método de extensión en tipos numéricos para usar en un marco de prueba fluido que estoy construyendo. Básicamente, quiero hacer esto:
public static ShouldBeGreaterThan<T>(this T actual, T expected, string message)
where T : int || T: double || etc...
Sólowhere T : struct
no funciona, ya que eso también coincidirá constring
ybool
, y posiblemente algo más que estoy olvidando. ¿Hay algo que pueda hacer para que coincidan solo los tipos numéricos? (Específicamente tipos que implementan la>
y<
operadores, así que puedo compararlos ... Si esto significa que también coincido con las fechas, en realidad no importa, la extensión seguirá haciendo lo que espero).