由于.NET框架中没有泛型差异,如果方法被设计为处理多个类型,那么处理System.Collection接口的非泛型版本的方法是否更“正确”?
理想情况下,一旦迁移到.NET 3.5,代码将被修改以将这些方法更改为扩展方法。
发布于 2008-09-30 13:29:31
不,更“正确”的做法是让处理多个类型的方法自己泛型。
发布于 2009-01-03 15:14:47
在这种情况下( IEnumerable ),实现通用版本更好,因为它是从IEnumerable(非通用)派生的,所以它成为一个未知点,两者都可以使用。
发布于 2008-09-29 20:56:35
定义“多类型”是指,例如,同时包含汽车和狗的列表吗?或者一个包含汽车的列表和另一个包含狗的列表?除非您正在做一些“特殊”的事情,否则我会说正确的做法是实现通用版本,而不是非通用版本。
https://stackoverflow.com/questions/150581
复制相似问题