예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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;
        }
예제 #3
0
 public Parameter(Object value, TYPE_PARAMETRE type, Object defaut)
 {
     _value   = value;
     _type    = type;
     _default = defaut;
 }