2008-09-29 54 views
1

由于.NET框架中缺少通用差异,因此如果方法处理非通用版本的System.Collection接口,它是更“正确”的方法正在设计处理多种类型?何时使用IEnumerable over IEnumerable <>

理想情况下,一旦移动到.NET 3.5,将修改代码以将这些方法更改为扩展方法。

回答

0

定义“多种类型”的意思,例如,包含汽车和狗的列表?或者一个包含汽车的列表和另一个包含狗的列表?除非你正在做一些“特殊”的事情,否则我会说正确的做法是实现通用版本而不是非通用版本。

1

不,更“正确”的做法是让自己处理多种类型的方法通用。

+0

是的。有关示例,请参阅System.Linq.Enumerable.Select。 – 2008-09-30 14:19:48

1

在这种情况下(IEnumerable),实现泛型版本更好,因为它从IEnumerable(非泛型)派生,所以它成为一个有争议的问题,两者都可供您使用。

相关问题