/// //////////////////////////////////// ///////////////////////////////// public override CResultAErreur SetTypeObjetInterroge(CObjetPourSousProprietes objetPourProprietes, IFournisseurProprietesDynamiques fournisseur) { CResultAErreur result = base.SetTypeObjetInterroge(objetPourProprietes, fournisseur); if (!result) { return(result); } ObjetPourAnalyseSourceConnu = objetPourProprietes; if (objetPourProprietes == null) { return(result); } if (DefinitionMethode != null) { return(result); } if (DefinitionFonction != null) { return(result); } string strNomUpper = m_strNomMethode.ToUpper(); foreach (CDefinitionProprieteDynamique prop in fournisseur.GetDefinitionsChamps(objetPourProprietes)) { if (prop is CDefinitionMethodeDynamique) { if (prop.NomProprieteSansCleTypeChamp.ToUpper() == strNomUpper || prop.Nom.ToUpper() == strNomUpper) { m_definitionMethode = (CDefinitionMethodeDynamique)prop; return(result); } } if (prop is CDefinitionFonctionDynamique) { if (prop.NomProprieteSansCleTypeChamp.ToUpper() == strNomUpper || prop.Nom.ToUpper() == strNomUpper) { m_definitionFonction = (CDefinitionFonctionDynamique)prop; return(result); } } } result.EmpileErreur(I.T("The @1 method doesn't exit in the @2 type|120", m_strNomMethode, objetPourProprietes != null? objetPourProprietes.ToString():"null")); return(result); }
/// //////////////////////////////////// ///////////////////////////////// public override CResultAErreur SetTypeObjetInterroge(CObjetPourSousProprietes objetPourSousProprietes, IFournisseurProprietesDynamiques fournisseur) { CResultAErreur result = CResultAErreur.True; CTypeResultatExpression[] typesAttendus = TypesObjetSourceAttendu; foreach (CTypeResultatExpression type in typesAttendus) { if (objetPourSousProprietes.TypeResultatExpression != null && objetPourSousProprietes.TypeResultatExpression.CanConvertTo(type)) { CObjetPourSousProprietes objForParametres = GetObjetAnalyseParametresFromObjetAnalyseSource(objetPourSousProprietes); if (objForParametres == null) { objForParametres = objetPourSousProprietes; } return(base.SetTypeObjetInterroge(objForParametres, fournisseur)); } } result.EmpileErreur(I.T("@1 cannot be applied to the @2 type|119", GetInfos().Texte, objetPourSousProprietes.ToString())); return(result); }