//------------------------------------------------------------------ public CDefinitionProprieteDynamique[] GetDefinitionsChamps(CObjetPourSousProprietes objet, CDefinitionProprieteDynamique defParente) { List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>(); CDefinitionMultiSourceForExpression multi = objet.ElementAVariableInstance as CDefinitionMultiSourceForExpression; if (multi != null) { lst.AddRange(GetDefinitionsChamps(multi.DefinitionObjetPrincipal)); } foreach (IFournisseurProprieteDynamiquesSimplifie fournisseur in m_listeSousFournisseurs) { lst.AddRange(fournisseur.GetDefinitionsChamps(objet, defParente)); } foreach (CObjetPourSousProprietes objetSecondaire in m_associationsObjetsSupplementaires.GetObjetsAssocies(objet)) { foreach (IFournisseurProprieteDynamiquesSimplifie fournisseur in m_listeSousFournisseurs) { lst.AddRange(fournisseur.GetDefinitionsChamps(objetSecondaire, defParente)); } } NettoieListe(lst); lst.Sort(); return(lst.ToArray()); }
//---------------------------------------------------------------- public CResultAErreur GetValue(object objet, string strPropriete) { CResultAErreur result = CResultAErreur.True; CDefinitionMultiSourceForExpression defMultiSource = objet as CDefinitionMultiSourceForExpression; if (defMultiSource != null) { result.Data = defMultiSource.GetSource(strPropriete); return(result); } return(result); }
//---------------------------------------------------------- public static CResultAErreur GetValue(object objet, CDefinitionProprieteDynamique defProp, CCacheValeursProprietes cache) { if (defProp != null) { CDefinitionMultiSourceForExpression source = objet as CDefinitionMultiSourceForExpression; if (source != null && !(defProp is CDefinitionProprieteDynamiqueSourceSupplementaire)) { return(GetValue(source.ObjetPrincipal, defProp)); } string strNomProp = defProp.NomPropriete; if (strNomProp.Length > 0 && strNomProp[0] != CDefinitionProprieteDynamique.c_strCaractereStartCleType && m_oldInterpreteur != null) { CResultAErreur result = CResultAErreur.True; result.Data = m_oldInterpreteur.GetValue(objet, defProp); return(result); } return(GetValue(objet, strNomProp, cache)); } return(CResultAErreur.True); }