Sovraccarico di GetEnumerator
-
06-07-2019 - |
Domanda
Non posso sovraccaricare GetEnumerator () come
IEnumerator<T> IEnumerable<T>.GetEnumerator<T> ( T[] val1,T[] val2)
{
.... some code
}
Soluzione
No. È sufficiente creare un metodo normale, ad esempio
IEnumerator<T> MyCustomEnumerator<T>(T[] val1, T[] val2) {
// some code
}
Altri suggerimenti
Puoi proporre un sovraccarico per il metodo GetEnumerator
, ma non può far parte dell'implementazione IEnumerable
.
GetEnumerator non accetta parametri.
Che ne dici di un metodo di estensione?
cioè:.
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);
...
Ma cosa stai cercando di fare in questo "sovraccarico"? Se si desidera unire quei due array di T, IEnumerable ha già un numero di metodi che accettano metodi. Assicurati di non reinventare la ruota!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow