Example #1
0
        public CDefinitionFonctionDynamique(
            CFonctionDynamique fonction)
            : base(
                fonction.Nom,
                fonction.Nom,
                fonction.TypeRetourne,
                true,
                true)
        {
            StringBuilder bl = new StringBuilder();

            bl.Append(fonction.Nom);
            bl.Append("(");
            foreach (CParametreFonctionDynamique parametre in fonction.Parametres)
            {
                bl.Append(parametre.Nom);
                bl.Append("; ");
            }
            if (fonction.Parametres.Count() > 0)
            {
                bl.Remove(bl.Length - 2, 2);
            }
            bl.Append(")");
            m_strNomConvivial             = bl.ToString();
            m_strIdFonction               = fonction.IdFonction;
            m_listeParametresDeLaFonction = new List <CParametreFonctionDynamique>(fonction.Parametres);
        }
Example #2
0
        //-------------------------------------------------------------------------------------
        public static CFonctionDynamique GetFonctionGlobale(string strIdFonction)
        {
            CFonctionDynamique fonction = null;

            m_dicFonctionsDynamiques.TryGetValue(strIdFonction, out fonction);
            if (fonction == null)
            {
                foreach (IFournisseurFonctionsDynamiquesSupplementaire f in m_listeFournisseursSupplementaires)
                {
                    fonction = f.GetFonctionSupplementaire(strIdFonction);
                    if (fonction != null)
                    {
                        break;
                    }
                }
            }
            return(fonction);
        }
Example #3
0
        //-------------------------------------------------------------------------------------
        public static void RegisterFonctionDynamique(Type tp, CFonctionDynamique fonction)
        {
            if (fonction == null)
            {
                return;
            }
            List <CFonctionDynamique> lst = null;

            if (!m_dicFonctionsDynamiquesParType.TryGetValue(tp, out lst))
            {
                lst = new List <CFonctionDynamique>();
                m_dicFonctionsDynamiquesParType[tp] = lst;
            }
            CFonctionDynamique fExistante = lst.FirstOrDefault(f => f.IdFonction == fonction.IdFonction);

            if (fExistante != null)
            {
                lst.Remove(fExistante);
            }
            lst.Add(fonction);
            lst.Sort((x, y) => x.Nom.CompareTo(y.Nom));
            m_dicFonctionsDynamiques[fonction.IdFonction] = fonction;
        }