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 respuestas

Estoy 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).

Respuestas a la pregunta(6)

Su respuesta a la pregunta