如果你想创建一个空的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