Defina un genérico que implemente el operador + [duplicado]

Posible duplicado:
Solución para restricciones de operador sobrecargadas en genéricos .NET

Tengo un problema en el que estoy trabajando, actualmente está funcionando paraints pero quiero que funcione para todas las clases que se pueden agregar usando el+ operador. ¿Hay alguna manera de definir esto en el genérico? Por ejemplo,

public List<T> Foo<T>() where T : ISummable

¿Hay alguna forma de hacer esto?

EDITAR:
El rendimiento de pasar a un delegado para hacer la suma en lugar de usar + = con un tipo de Int fue 540% más lento en el mejor de los casos. Investigar otra posible solución

Solución final:
Gracias a todos por sus sugerencias. Terminé con una solución que no es demasiado lenta y exige la verificación en tiempo de compilación. No puedo tomar todo el crédito ya que un colega me ayudó a llegar a esto. De todos modos, aquí está:

Implemente una interfaz con todos los operadores necesarios en forma de funciones.

public interface IFoo<InputType, OutputType>
{
    //Adds A to B and returns a value of type OutputType
    OutputType Add(InputType a, InputType b);
    //Subtracts A from B and returns a value of type OutputType
    OutputType Subtract(InputType a, InputType b);
}

Cree la clase que desea definir, pero en lugar de la cláusula Where, use una instancia inyectada de dependencia de la interfaz IFoo. OutputType suele ser el doble porque la naturaleza de las operaciones es matemática.

public class Bar<T>
{
    private readonly IFoo<T,double> _operators;

    public Bar(IFoo<T, double> operators)
    {
        _operators = operators;
    }
}

ahora cuando usa esta clase, define las reglas de operación de esta manera:

private class Foo : IFoo<int, double>
{
    public double Add(int a, int b)
    {
        return (double)(a+b);
    }
    public double Subtract(int a, int b)
    {
        return (double)(a-b);
    }
}

entonces lo usarías así:

Foo inttoDoubleOperations = new Foo();
Bar myClass = new Bar(Foo);

de esa manera todas las operaciones se aplican en tiempo de compilación :)

¡disfrutar!

Respuestas a la pregunta(2)

Su respuesta a la pregunta