下面的方法是否可能以某种方式认识到它只能是int、双、十进制或浮点数,并将它们添加到+操作符中。如果我使用dynamic,那么这是一个问题,因为我希望比较不同类型的加法时间,如果将它们转换为dynamic,我不知道会产生什么效果。谢谢。
public static void Addition<T>(T number) where T:int, double, decimal, float
{
//calculate elapsed time for operation
var x= number + number;// cannot add T + T
}发布于 2014-06-02 19:41:43
将参数约束为编译时已知的有限类型集之一的唯一方法是为每种类型创建重载。在本例中,这意味着int、double、decimal和float的重载。
无法将泛型参数约束为给定的运算符重载类型。
https://stackoverflow.com/questions/24001966
复制相似问题