template singletons patrón example dofactory code c# generics ienumerable

c# - singletons - ¿Cómo puedo crear un singleton IEnumerable?



singleton sqlconnection c# (3)

Su llamada a AsEnumerable() es necesaria. AsEnumerable se usa generalmente en los casos en que el objeto de destino implementa IQueryable<T> pero desea forzarlo a usar LINQ-to-Objects (cuando se realiza un filtrado del lado del cliente en un ORM compatible con LINQ, por ejemplo). Ya que List<T> implementa IEnumerable<T> pero no IQueryable<T> , no hay necesidad de hacerlo.

De todos modos, también puedes crear una matriz de un solo elemento con tu artículo;

IEnumerable<T> enumerable = new[] { t };

O Enumerable.Repeat

IEnumerable<T> enumerable = Enumerable.Repeat(t, 1);

¿Ofrece C # algún método agradable para convertir una entidad única de tipo T a IEnumerable<T> ?

La única forma en que puedo pensar es algo como:

T entity = new T(); IEnumerable<T> = new List { entity }.AsEnumerable();

Y supongo que debería haber una mejor manera.


yo suelo

Enumerable.Repeat(entity, 1);


var entity = new T(); var singleton = Enumerable.Repeat(entity, 1);

(Aunque probablemente solo haría var singleton = new[] { entity }; en la mayoría de las situaciones, especialmente si fuera solo para uso privado).