예제 #1
0
 /// <summary>
 /// Método de inserção de itens na coleção.
 /// É garantido que qualquer tentativa de adicionar elementos na coleção
 /// será feita por este método.
 /// Uma subclasse pode reescrever este método para modificar o comportamento
 /// de inserção de itens na coleção.
 /// </summary>
 /// <param name="store">A instância de lista na qual os itens devem ser inseridos.</param>
 /// <param name="items">Os itens que estão sendo adicionados à coleção.</param>
 /// <param name="index">
 /// Um índice opcional a partir do qual é esperado que os itens sejam inseridos.
 /// Quando índice for -1 é esperado que os itens sejam adicionados no fim da coleção.
 /// </param>
 protected virtual void OnCommitAdd(ItemStore store, IEnumerable <T> items, int index = -1)
 {
     if (index == -1 || index >= store.Count)
     {
         store.AddMany(items);
     }
     else
     {
         foreach (var item in items)
         {
             store.AddAt(index++, item);
         }
     }
 }