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?
Solução
Isto pode ajudar:
new[]{obj}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow