在.NET中,不可能约束泛型方法,因此它只接受数字类型,如以下问题所述:Is there a constraint that restricts my generic method to numeric types?。
但是如果你查看.NET的参考源(http://sourceof.net)并查看基本类型的源代码(Int32,Int64,Single,等)有一个名为IArithmetic<T>
的引用,其中所有原始类型的接口都有implementation,但实现已被注释掉。
无法找到接口的定义,但是查看已实现的方法,接口定义了通用数字接口所需的方法。
所以我的问题是:为什么放弃这项工作?