/// <summary> /// Замена элемента по точному соответствию. Если соответствия не найдено, вставка НЕ производится /// </summary> /// <param name="oldItem">Старый элемент</param> /// <param name="newItem">Новый элемент</param> public void ReplaceItem(ManifestFileItem oldItem, ManifestFileItem newItem) { if (oldItem == null || newItem == null) { return; } if (_contentField.Count == 0) { return; } ManifestFileItem curent = null; for (int i = 0; i < _contentField.Count; i++) { curent = _contentField[i]; if (curent != null && curent.Equals(oldItem)) { _contentField[i] = newItem; break; } } }
/// <summary> /// Удаление элемента из манифесте по точному соответствию /// </summary> /// <param name="item">Удаляемый элемент</param> public void RemoveItem(IManifestFileItem item) { if (item == null) { return; } if (_contentField.Count == 0) { return; } ManifestFileItem curent = null; for (int i = 0; i < _contentField.Count; i++) { curent = _contentField[i]; if (curent != null && curent.Equals(item)) { _contentField.Remove(curent); break; } } }