Erweitern der Enumerable-Klasse in c #?

Ich habe die Situation, die Enumerable-Klasse in c # zu erweitern, um die neue Range-Methode hinzuzufügen, die lange Parameter akzeptiert. Ich kann die Methode nicht so definieren

public static IEnumerable<long> Range(this Enumerable source, long start, long length)
{
    for (long i = start; i < length; i++)
    {
        yield return i;
    }
}

Da Erweiterungsmethoden nur über ihre Objekte zugänglich sind. Und es gibt mir einen Fehler

'System.Linq.Enumerable': Statische Typen können nicht als Parameter verwendet werden

Kann mir jemand erklären, wie das geht?

Hinweis: Ich weiß, dass wir dies leicht ohne Erweiterungsmethoden lösen können, aber ich brauchte diese Enumrable-Klasse.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage