/// <summary> /// Pega o íncido do elemento da coleção /// </summary> /// <param name="pIndex">Indice ou chave</param> /// <param name="pSearchKey">Método de pesquisa da chave</param> /// <returns>Um inteiro contendo o indice da coleção</returns> public int GetIndex(object pIndex, BoSearchKey pSearchKey) { var index = -1; switch (pSearchKey) { case BoSearchKey.psk_ByValue: var value = valuesCollection.FirstOrDefault( c => c.Value.ToString() == pIndex.ToString()); if (value != null) { index = valuesCollection.IndexOf(value); } break; case BoSearchKey.psk_ByDescription: var valueDesc = valuesCollection.FirstOrDefault( c => c.Description == pIndex.ToString()); if (valueDesc != null) { index = valuesCollection.IndexOf(valueDesc); } break; case BoSearchKey.psk_Index: index = (int)pIndex; break; default: throw new NotSupportedException("Valor para BoSearchKey não suportado"); } return(index); }
/// <summary> /// Remove um elemento da coleção /// </summary> /// <param name="Index">Chave ou Indice</param> /// <param name="pSearchKey">Método de pesquisa da chave</param> public void Remove(object Index, BoSearchKey SearchKey) { valuesCollection.RemoveAt(GetIndex(Index, SearchKey)); }