示例#1
0
        // Вызывает метод из пары "метод+имя" methodInputInfo для массива array.
        private static MethodInfo RunMethod(MethodInfo_Pair methodInputInfo, int[] array)
        {
            MethodInfo outStruct; int[] sortedArray;
            Stopwatch  timer = new Stopwatch();

            timer.Start();
            sortedArray = methodInputInfo.Value(array);
            timer.Stop();

            outStruct.name     = methodInputInfo.Key;
            outStruct.time     = (int)timer.Elapsed.TotalSeconds; // Время в секундах.
            outStruct.capacity = sortedArray.Length;              // Спорный вопрос: на кой черт метод возвращает размер обработанного массива,
                                                                  // если мы вызываем все методы для одного массива за раз и этот размер не меняется со временем.

            System.Threading.Thread.Sleep(3);                     // даем потоку передохнуть

            if (CloseMethod != null)
            {
                CloseMethod.Invoke();
            }

            return(outStruct);
        }
 public void Execute(object param)
 {
     CloseState = bool.Parse((string)param);
     CloseMethod.Invoke();
 }