c# - 具有值类型的重载方法是否应该合并为泛型方法?

标签 c# generics oop

在进行面向对象设计时,将使用简单值类型的方法集合合并到泛型方法中是否更好?例如:

public int Sum(int x, int y)

// Overload with float.
public float Sum(float x, float y)

合并为:

public T Sum<T> (T x, T y)

谢谢

斯科特

最佳答案

一般来说是的,但是,特别是对于您的示例(对两个参数求和) - 您不能使用泛型来做到这一点,因为 + 运算符不是您可以约束的任何接口(interface)的一部分你的泛型类型参数:)

(注意:这是我的 C# 部分,用其他语言可能仍然可行)

关于c# - 具有值类型的重载方法是否应该合并为泛型方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1987136/

相关文章:

c# - 如何显示与文件类型关联的所有程序的列表?

c# - 适用于 Android 的 ExpandableListView Mono

c# - 自动实现属性的自动变量名是什么

generics - 在 Rust 中使用 traits 的通用函数

python - __init__() 内部和外部变量之间的差异(类和实例属性)

oop - Rust 中的对象和类

c# - 这个页面应该怎么设计?

c# - 实现接口(interface)泛型函数

java - 尝试调用方法时出现泛型问题

c++ - 继承 - 运算符重载