Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2012, 20:35   #1
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию Прокомментируйте код

Код:
private void button1_Click(object sender, EventArgs e)
      {
        CallMethodAfterDelay(TestMethod, 5000);
      }
      public void CallMethodAfterDelay(MethodInvoker MethodToCall, int Delay)
      {
        timer1.Interval = Delay;
        timer1.Tag = MethodToCall;
        timer1.Start();
      }
      private void timer1_Tick(object sender, EventArgs e)
      {
        timer1.Stop();
        ((MethodInvoker)timer1.Tag).Invoke(); //Что тут происходит
      }
      public void TestMethod()
      {
        //Do Stuff
        MessageBox.Show("TestMethod is running.");
      }
Как вообще работает MethodInvoker Объясните поподробнее!
И как можно вынести метод CallMethodAfterDelay , чтоб не зависеть от определенного Timer timer1; А можно было работать в разных классах с разными таймерами.
stenl1 вне форума Ответить с цитированием
Старый 16.10.2012, 17:20   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Цитата:
Как вообще работает MethodInvoker
Представляет делегат, который может выполнить любой метод в управляемом коде, объявленные пустые и не принимает параметры.(from MSDN).

Цитата:
И как можно вынести метод CallMethodAfterDelay , чтоб не зависеть от определенного Timer timer1; А можно было работать в разных классах с разными таймерами.
Очень универсальное решение. Позволяет выставлять интервалы, асинхронно работать и т.д. Огромный плюс такого решения - работа с событиями в linq.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 17.10.2012, 06:49   #3
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию

Цитата:
Представляет делегат, который может выполнить любой метод в управляемом коде, объявленные пустые и не принимает параметры.(from MSDN).
Это я читал.Мне простыми словами лучше объясни .
А по поводу ссылки , ты лучше примерчик напиши , а то я там не нашел для себя похожего решения.
stenl1 вне форума Ответить с цитированием
Старый 17.10.2012, 15:42   #4
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Скажи что тебе нужно сделать, зачем много таймеров, а то пример написать можно, но, не зная назначения, бесперспективно.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 18.10.2012, 06:52   #5
stenl1
Форумчанин
 
Аватар для stenl1
 
Регистрация: 26.06.2009
Сообщений: 354
По умолчанию

Нужно чтоб после выполнения метода , выждалось определенное кол-во времени. Допустим: выполняется method 1 - ждем 40 сек. выполняется method 2 ждем 5 мин. потом начинает выполнение method 3 и тд.
Это нужно для написания бота для браузерных игр. Зашел на страничку совершил определенное действие, выжидаешь пока пройдет время и совершаешь еще какой нибудь переход.
stenl1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прокомментируйте код Nicolas_C++ Общие вопросы C/C++ 4 03.08.2012 13:45
Прокомментируйте код ArmanPrestige Общие вопросы C/C++ 3 10.07.2012 08:21
Прокомментируйте маленький код sektor2011 Visual C++ 0 12.05.2011 17:24
Прокомментируйте код ZyaT-OK Помощь студентам 11 17.01.2011 21:48
Прокомментируйте и объясните код Serjuk Помощь студентам 1 18.05.2010 17:56