/// <summary> /// Retroube /// </summary> /// <param name="categorie"></param> /// <param name="name"></param> /// <param name="defaut"></param> /// <returns></returns> private Object getParametre(string cat, string name, TYPE_PARAMETRE type, Object defaut) { Categorie categorie; _categories.TryGetValue(cat, out categorie); if (categorie == null) { categorie = new Categorie(); categorie._propre = false; _categories.Add(cat, categorie); } Parameter p; categorie._valeurs.TryGetValue(name, out p); if ((p != null) && (p is Parameter)) { if (p._type != type) { throw new InvalidCastException("parametre " + name + ": type invalide"); } return(p._value); } categorie._valeurs.Add(name, new Parameter(defaut, type, defaut)); return(defaut); }
/// <summary> /// Ajoute un parametre ou change sa valeur s'il existe deja /// </summary> /// <param name="categorieName"></param> /// <param name="valueName"></param> /// <param name="type"></param> /// <param name="defaut"></param> private void setParametre(string categorieName, string valueName, TYPE_PARAMETRE type, Object defaut) { Categorie categorie; _categories.TryGetValue(categorieName, out categorie); if (categorie == null) { categorie = new Categorie(); _categories.Add(categorieName, categorie); } if (categorie._valeurs.ContainsKey(valueName)) { categorie._valeurs.Remove(valueName); } Parameter par = new Parameter(defaut, type, defaut); categorie._valeurs.Add(valueName, par); categorie._propre = false; }
public Parameter(Object value, TYPE_PARAMETRE type, Object defaut) { _value = value; _type = type; _default = defaut; }