//-------------------------------------------------------------- public List <CReferenceObjetDependant> GetDependances(CEntitiesManager manager, CObjetDonnee objet) { objet.Refresh(); List <CReferenceObjetDependant> lst = new List <CReferenceObjetDependant>(); if (objet == null) { return(lst); } Type tp = objet.GetType(); foreach (PropertyInfo info in tp.GetProperties()) { if (info.GetCustomAttribute <BlobDecoderAttribute>(true) != null) { try { DynamicFieldAttribute df = info.GetCustomAttribute <DynamicFieldAttribute>(); string strNomProp = df == null?info.Name:df.NomConvivial; MethodInfo methode = info.GetGetMethod(); List <CDbKey> lstKeys = new List <CDbKey>(); using (CDbKeyReaderTracker tracker = new CDbKeyReaderTracker()) { if (methode != null) { methode.Invoke(objet, new object[0]); } ; lstKeys.AddRange(tracker.TrackedKeys); } foreach (CDbKey key in lstKeys) { Type tpChild = manager.GetTypeForUniversalId(key.StringValue); if (tpChild != null && !manager.ConfigurationRecherche.IsIgnore(tpChild)) { lst.Add(new CReferenceObjetDependant(strNomProp, tpChild, key)); } } } catch { } } } return(lst); }