我正在尝试为数字类型编写一个扩展方法,以在我正在构建的流畅测试框架中使用。基本上,我想这样做:
public static ShouldBeGreaterThan<T>(this T actual, T expected, string message)
where T : int || T: double || etc...
只是where T : struct
不这样做,因为那也将匹配string
and bool
,并且可能还有其他我忘记的东西。我能做些什么来只匹配数字类型吗?(具体是实现>
and<
运算符的类型,所以我可以比较它们......如果这意味着我也在匹配日期,那并不重要 - 扩展仍然会按照我的预期进行。)