Sobrecarga de GetEnumerator
-
06-07-2019 - |
Pergunta
Não é possível i sobrecarregar GetEnumerator () como
IEnumerator<T> IEnumerable<T>.GetEnumerator<T> ( T[] val1,T[] val2)
{
.... some code
}
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