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