public void loadVariableList() { //On crée un dictionnaire qui va contenir le chemin + nom (clé unique) et le mapping associé dic = new Dictionary <string, string>(); vc = Vs.getVariableController(); _listOfDataObserver = new ObservableCollection <DataObserver>(); connectionOK = control.isConnected(); if (connectionOK) { btnConnect.Text = "Disconnect"; enableConn = false; try { ///Récupération de toutes les variables U-test NameList listeUT = control.getVariableList(); if (listeUT.size() > 0) { for (int i = 0; i < listeUT.size(); i++) { ///Si la clé primaire existe déjà dans le dictionnaire alors on rajoute le mapping ///Si elle n'existe pas on met un mapping vide if (!dic.ContainsKey(listeUT.get(i))) { _listOfDataObserver.Add(createDataObserver(listeUT.get(i), "", VS_Type.INVALID, 0, "", false)); } else { _listOfDataObserver.Add(createDataObserver(listeUT.get(i), "", VS_Type.INVALID, 0, dic[listeUT.get(i)].ToString(), false)); } } } refreshValues(); } catch (Exception e) { InformationMessage = "Impossible to get the list of variables !\n" + e.ToString(); MessageBox.Show(InformationMessage + "\n" + e.Message, "NetProbe", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }