Wenn Sie eine leere IEnumerable vom Typ T erstellen möchten, können Sie es mit der statischen generische MethodeWarum ist IEnumerable.Empty <T>() und nicht IEnumerable <T> .Empty()?
Enumerable.Empty<T>()
here für weitere Informationen siehe erstellen.
Warum hat Microsoft diese Option gewählt, anstatt eine statische Methode für den generischen Typ zu verwenden (im Gegensatz zu einer generischen statischen Methode für den nicht-generischen Typ)?
Enumerable<T>.Empty()
die dann zurückkehren würde eine leere IEnumerable<T>
:
Diese Methode könnte wie folgt verwendet werden.
Meiner Meinung nach macht die zweite Option mehr Sinn, da was ich erstellen möchte, ist das generische IEnumerable<T>
, kein nicht-generisches IEnumerable
.
Edit: Tippfehler
Es ist 'Enumerable.Empty' 'nicht IEnumerable.Empty ' –
spender
FYI meinen Sie Enumerable.Empty nicht IEnumerable.Empty , Sie nicht auf einer Schnittstelle statisch haben kann. –
Ja, sobald ich meine Frage geschrieben habe, wurde mir klar, dass der Grund dafür war, dass Sie offensichtlich keine statischen Methoden auf einer Schnittstelle haben können. Auch Enumerable existiert nicht. –
GuiSim