<分区>
我想编写一个可以接受任何数字的 C# 方法。像这样的东西:
public static T Sum(T a, T b) where T : number { // (not real code)
return a + b;
}
但我在 C# 中没有看到“数字”基类,而在我使用过的大多数其他语言中都存在。数值类型是 IComparable、IFormattable、IConvertible、IComparable 和 IEquatable,但似乎没有任何算术功能。它们都是结构,除了对象之外没有明显的公共(public)父类(super class)。 (如果我搞砸了这里的意思,请原谅我,因为我不太熟悉 C# 结构,也不太熟悉它们与类相似或不同的所有方式。)
我是不是遗漏了什么,或者是否无法在 C# 中编写执行“a + b”的方法而不明确声明“+”上下文中的 a 和 b 是什么?