//-------------------------------------------------------------------------------------------------- public static IEnumerable <string> GetInspiration(CListeParametresInspiration parametres) { HashSet <string> set = new HashSet <string>(); IEnumerable <string> lstRetour = null; foreach (IParametreInspiration parametre in parametres) { if (parametre != null) { IFournisseurInspiration fournisseur = null; if (m_dicFournisseursParTypeDeParametre.TryGetValue(parametre.GetType(), out fournisseur)) { IEnumerable <string> lstTmp = fournisseur.GetInspiration(parametre); if (parametres.Count() == 1) { lstRetour = lstTmp; } else { foreach (string strChaine in lstTmp) { set.Add(strChaine); } } } } } if (parametres.Count() > 1) { List <string> lstTmp = new List <string>(); foreach (string str in set) { lstTmp.Add(str); } lstRetour = lstTmp; } return(lstRetour); }
//-------------------------------------------------------------------------------------------------- public static void RegisterFournisseur(IFournisseurInspiration fournisseur, Type typeParametreInspiration) { m_dicFournisseursParTypeDeParametre[typeParametreInspiration] = fournisseur; }