我了解它们是什么,我只是想知道何时是使用它们的最佳时间。
我的第一个想法是 - 当我们构建一个(静态)实用程序类时,它应该对不同的数据类型执行某些操作。因此,使用泛型方法来避免某个方法的大量重载是一种好习惯吗?请对此发表评论。
我有一个小例子课。这只是为了举例。
public static class Math<T> where T : operator +, operator -
{
public static T Add(T a1, T a2)
{
return a1+a2;
}
public static T Subtract(T a1, T a2)
{
return a1 - a2;
}
}
这会是泛型类和方法的一个很好的用法吗?例如,我希望用最少的代码加减整数、双精度数等。
为什么编译不出来?我已经尝试过这个以及修改类签名:
public static class Math<T> where T : struct
我了解我必须指定 Type 参数是引用类型还是值类型。我通过指定必须将 T 约束为值类型来做到这一点,那么为什么我仍然会收到运算符 + 和/或 - 不能应用于 T 的错误(这应该是一个值类型)