Eine Überlastung von GetEnumerator
-
06-07-2019 - |
Frage
Kann ich nicht überlasten GetEnumerator () wie
IEnumerator<T> IEnumerable<T>.GetEnumerator<T> ( T[] val1,T[] val2)
{
.... some code
}
Lösung
Nein. Erstellen Sie einfach eine normale Methode stattdessen z.
IEnumerator<T> MyCustomEnumerator<T>(T[] val1, T[] val2) {
// some code
}
Andere Tipps
Sie können eine Überlastung für GetEnumerator
Verfahren vorzuschlagen, aber es kann nicht Teil der IEnumerable
Implementierung sein.
GetEnumerator keine Parameter übernehmen.
Wie wäre eine Erweiterung Methode?
das heißt:.
public static class IEnumeratorExtensions
{
public static IEnumerator<T> GetEnumerator<T>(this IEnumerable<T> ie,
T[] val1, T[] val2)
{
//your code here
}
}
...
string[] s1;
string[] s2;
var qry = from s in new string[]{"1", "2"}
select s;
qry.GetEnumerator(s1, s2);
...
Aber was wollen Sie in dieser „Überlast“ zu tun? Wenn Sie diese zwei Arrays von T zusammenführen möchten, hat IEnumerable bereits eine Reihe von Verfahren, die Methoden nehmen. Stellen Sie sicher, dass Sie nicht das Rad neu zu erfinden!
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow