/// <summary> /// Удалить из списка пару значений расход/диаметр /// </summary> /// <param name="pair">Удаляемая пара значений расход/диаметр</param> public void RemovePair(IdealFlowPair pair) { if (p_slim.TryEnterWriteLock(300)) { try { if (pair != null) { pairs.Remove(pair); } } finally { p_slim.ExitWriteLock(); } } }
/// <summary> /// Загрузить параметр из Xml узла /// </summary> /// <param name="Node">Xml узел в котором сохранен параметр</param> public override void Load(XmlNode Node) { base.Load(Node); if (slim.TryEnterWriteLock(500) && p_slim.TryEnterWriteLock(500)) { try { if (Node != null && Node.HasChildNodes) { if (Node.Name == RootName) { foreach (XmlNode Child in Node.ChildNodes) { switch (Child.Name) { case PumpMovesName: try { _pump_moves = float.Parse(Child.InnerText); } catch { } break; case scale_factor_1_name: try { scale_factor_1 = float.Parse(Child.InnerText); } catch { } break; case scale_factor_2_name: try { scale_factor_2 = float.Parse(Child.InnerText); } catch { } break; case IdealFlowPair.RootName: try { IdealFlowPair pair = new IdealFlowPair(); pair.Load(Child); pairs.Add(pair); } catch { } break; default: break; } } } } } finally { slim.ExitWriteLock(); p_slim.ExitWriteLock(); } } }