如果你想創建一個空的IEnumerable T類型的,你可以使用靜態泛型方法爲什麼它IEnumerable.Empty <T>()而不是IEnumerable <T> .Empty()?
Enumerable.Empty<T>()
更多信息,請參見here創建它。
爲什麼微軟會選擇這個選項,而不是在泛型類型上使用靜態方法(與非泛型類型上的泛型靜態方法相反)?
該方法可用於這樣的:
Enumerable<T>.Empty()
這將然後返回一個空IEnumerable<T>
。
在我看來,第二種選擇更有意義,因爲我想創建的是通用IEnumerable<T>
,而不是非通用IEnumerable
。
編輯:錯字
這是'Enumerable.Empty''不IEnumerable.Empty ' –
spender
2010-11-18 16:47:43
僅供參考你的意思Enumerable.Empty不IEnumerable.Empty ,你不能有一個接口上的靜態。 –
2010-11-18 16:48:03
是的,只要我發佈我的問題,我意識到,原因是因爲你顯然不能有一個接口上的靜態方法..此外,Enumerable不存在。 –
GuiSim
2010-11-18 16:56:50