morto
@morto
вечный ученик

Как выполнить функцию через время?

Здравствуйте, как можно в C# wpf запустить какую-либо функцию через определенное время например через 4000 мс?

P.S.: Аналог функции setTimeout в JS.
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
sarapinit
@sarapinit
Точу водой камень
public static void Main(string[] args)
{
    // подождет 1с и вызовет SomeMethod 1 раз
    var t1 = new System.Threading.Timer(SomeWork, null, TimeSpan.FromSeconds(1), TimeSpan.Zero);
    // подождет 5с и будет вызывать SomeMethod раз в секунду
    var t2 = new System.Threading.Timer(SomeWork, null, TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(1));
    Console.ReadKey();
}

public static void SomeWork(object state)
{
    Console.WriteLine("work");
}
Ответ написан
Griboks
@Griboks Куратор тега C#
Thread.Sleep(4000);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Senior .NET developer
Есть timer запускаете его и подписываетесь на тики соответственно выполняете что то. Это идёт в отдельном потоке и не блокирует юай
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы