Pregunta

No puedo sobrecargar GetEnumerator () como

IEnumerator<T> IEnumerable<T>.GetEnumerator<T> ( T[] val1,T[] val2)

{

  .... some code

}
¿Fue útil?

Solución

No. Solo crea un método normal, por ejemplo,

IEnumerator<T> MyCustomEnumerator<T>(T[] val1, T[] val2) {
    // some code
}

Otros consejos

Puede proponer una sobrecarga para el método GetEnumerator , pero no puede ser parte de la implementación de IEnumerable .

GetEnumerator no toma parámetros.

¿Qué tal un método de extensión?

es decir:


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);
...

¿Pero qué intentas hacer en esta " sobrecarga " ;? Si desea combinar esas dos matrices de T, IEnumerable ya tiene una serie de métodos que toman métodos. ¡Asegúrate de no reinventar la rueda!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top