2008-09-29 107 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(非泛型)派生,所以它成爲一個有爭議的問題,兩者都可供您使用。

相關問題