Pergunta

Não é possível i sobrecarregar GetEnumerator () como

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

{

  .... some code

}
Foi útil?

Solução

No. Basta criar um método normal em vez disso, por exemplo.

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

Outras dicas

Você também pode propor uma sobrecarga para o método GetEnumerator, mas não pode ser parte da implementação IEnumerable.

GetEnumerator não leva parâmetros.

Que tal um método de extensão?

ou seja:.


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

Mas o que você está tentando fazer neste "sobrecarga"? Se você deseja mesclar essas duas matrizes de T, IEnumerable já tem uma série de métodos que levam métodos. Certifique-se de que você não está reinventando a roda!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top