Возможно очень глупый вопрос от новичка. Буду рад прочесть все что скинете. Задался такой задачей. Как остановить таймер при определенном условии из другого метода? Как сделать это лучше?
static void Main ()
{
Timer timer1 = new Timer(MyMethod, num, 0, 1000);
}
public static void MyMethod(object obj)
{
Do something
}
Условно в методе что-то выполниться, если метод что-то находит, то dispose() таймер.
Вынести как поле (самый простой вариант)
static Timer timer1;
static void Main ()
{
timer1 = new Timer(MyMethod, num, 0, 1000);
}
public static void MyMethod(object obj)
{
timer1.Change(....);
}
Сделать функцию локальной
static void Main ()
{
Timer timer1 = new Timer(MyMethod, num, 0, 1000);
void MyMethod(object obj)
{
timer1.Change(....);
}
}
Передать как параметр
static void Main ()
{
Timer timer1 = null;
timer1 = new Timer(MyMethod, new Func<Timer>(()=>timer1), 0, 1000);
}
public static void MyMethod(object obj)
{
var timer = ((Func<Timer>) obj)();
timer.Change(....);
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости