En ocasiones me he encontrado con personas que me preguntan si existe una manera de tener un AddRange en un ObservableCollection así como lo tiene el List<T>, pues mi respuesta siempre ha sido este código. Quizás no sea el mas optimo o quizás hay mejores truco pero hasta ahora me ha funcionado muy bien, además que me he ahorrado muchos ForEach
.
public static class ExtensionesColecciones
{
public static void AddRange<T>(this ObservableCollection<T> listOriginal
, IEnumerable<T> collection)
{
if (listOriginal == null)
listOriginal = new ObservableCollection<T>();//En caso de que aun no tenga una instancia
//Verificamos que sea diferente de null o vacio
if (!collection.IsNullOrEmpty<T>())
{
foreach (var item in collection)
listOriginal.Add(item);
}
}
}
Espero que les sea de mucha ayuda.
Nota: El Método de Extensión IsNullOrEmpty esta en este Link: Tips SilverLight: Comprobar si una Coleccion esta vacia o Nula
Comparte este post: