Pergunta

Encontrando-me na situação onde eu tenho um método com esta assinatura

void DoSomething(IEnumerable<T> before, IEnumerable<T> after)

Eu encontro-me muitas vezes ter que chamá-lo quando eu tenho apenas um elemento e não IEnumerable.

Pensei em adicionar os três sobrecargas, mas isso não ajuda quando um dos argumentos é nulo.

Então, eu pensei que eu poderia apenas 'encerrar' meu único elemento em um IEnumerable e enviá-lo, mas eu não consigo encontrar nada sobre Enumerable que se parece com o que eu quero (talvez eu não estou olhando duro o suficiente).

Então, eu estou olhando para algo como isto

    public static IEnumerable<T> EnumerableUnit<T>(T item)
    {
        if(item != null) yield return item;
    }

Esta é uma boa ideia? Ou há algo mais que eu deveria fazer?

Foi útil?

Solução

Isto pode ajudar:

new[]{obj}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top