Можно создать дубликат:
Run a code in given time intervalC# - Использование делегата для запуска метода в то же время каждый час
У меня есть метод, который работает на час. Сейчас я делаю это так:
while (true)
{
string rightNow = DateTime.Now.ToString("mm");
if (rightNow == "00")
{
RunMyMethod();
}
Thread.Sleep(10000);
}
Я надежно сообщил друг, что я идиотка (и вообще плохой человек), и что я должен использовать событие и делегат, чтобы сделать это вместо , Я понимаю, что, вне рамок каких-либо методов, которые я должен объявить делегат с тем же типом возвращаемого значения, как мой метод, и с теми же входными параметрами, как так:
public delegate void MyMethodsDelegate();
Затем, когда я хочу использовать мой делегат I инстанцируйте его таким же образом, я класс создания экземпляра так:
MyMethodsDelegate foobar = new MyMethodsDelegate(RunMyMethod);
Тогда я могу вызвать мой делегат так:
foobar.Invoke();
Ok поэтому у меня есть мои настройки делегата, как об этом событии? Событие, которое я хочу создать, это «Это x o'clock», а затем каждый раз, когда он наступает час, это снимает мой делегат.
Также, правильно ли я настроил свой делегат?
Благодаря
Можно ли использовать Windows Task Schedular (http://msdn.microsoft.com/en-us/library/windows/desktop/aa383614(v=vs.85).aspx) вместо использования делегата создать exe и использовать расписание задач? –
Ваш друг звучит как хороший парень. – Yuck
http://stackoverflow.com/questions/1972964/run-a-code-in-given-time-interval – SwDevMan81