//---------------------------------------------------------------------- public CResultAErreur Eval(CContexteEvaluationExpression ctxEval, params object[] parametres) { if (Formule == null) { return(null); } int nParametre = 0; CContexteEvaluationExpression ctxCopie = new CContexteEvaluationExpression(ctxEval.ObjetSource); foreach (CParametreFonctionDynamique parametre in Parametres) { CDefinitionProprieteDynamiqueVariableFormule def = new CDefinitionProprieteDynamiqueVariableFormule( parametre.Nom, parametre.TypeResultatExpression, true); ctxCopie.AddVariable(def); if (nParametre < parametres.Length) { ctxCopie.SetValeurVariable(def, parametres[nParametre]); } else { ctxCopie.SetValeurVariable(def, null); } nParametre++; } CResultAErreur result = Formule.Eval(ctxCopie); if (!result) { result.EmpileErreur(I.T("Error while evaluating method @1|20127")); } return(result); }