あなたはタイプTの空のIEnumerableを作成したい場合は、あなたがIEnumerable.Empty <T>()で、IEnumerableでないのはなぜですか?<T> .Empty()?
Enumerable.Empty<T>()
静的ジェネリックメソッドを使用して作成することができますが詳細はhereを参照してください。
ジェネリック型(非ジェネリック型の汎用静的メソッドではなく)に対して静的メソッドを使用する代わりに、Microsoftがこのオプションを選択したのはなぜですか?
このメソッドは、このように使用することができます:
Enumerable<T>.Empty()
空IEnumerable<T>
を返すことになります。
私の意見では、2番目の選択肢は、IEnumerable<T>
の汎用品であり、非汎用品ではないIEnumerable
ではありません。
編集:タイプミス
それは 'Enumerable.Emptyは' 'IEnumerable.Empty ' –
spender
はFYIあなたがいないIEnumerable.Empty Enumerable.Empty を意味し、あなたは、インターフェイスに静的を持つことができないではないです。 –
私は自分の質問を投稿するとすぐに、理由は明らかにインターフェイス上で静的メソッドを持つことができないことに気づいた..また、Enumerableは存在しません。 –
GuiSim