using System; using System.Collections.Generic; namespace IOB_UT_NEXT.Objects { /// /// Gestione dati di timing /// public static class TimingData { #region Public Fields public static List results = new List(); #endregion Public Fields #region Public Methods /// /// aggiorno vettore aggiungendo risultato /// /// Codice chiamante /// Codice da registrare (univoco con chiamante) /// Tempo esecuzione in ticks public static void addResult(string caller, string codice, long ticks) { if (results.Count == 0) { results.Add(new TimeRec(caller, codice, ticks)); } int indice = -1; for (int i = 0; i < results.Count; i++) { // se il codice è quello cercato... if (results[i].codCall == codice && results[i].classCall == caller) { indice = i; } } // se c'è aggiorno... if (indice >= 0) { results[indice].numCall++; results[indice].totMsec = results[indice].totMsec.Add(new TimeSpan(ticks)); } // altrimenti aggiungo... else { results.Add(new TimeRec(caller, codice, ticks)); } } /// /// Resetta i dati registrati (ad avvio adapter...) /// public static void resetData() { results = new List(); } #endregion Public Methods } }