Использование Timer.
static void Main(string[] args)
{
Timer timer = new System.Threading.Timer((e) =>
{
Console.WriteLine("Now the following code will be repeated over and over");
}, null, 0, (int)TimeSpan.FromSeconds(5).TotalMilliseconds);
Console.Read();
}
Здесь я назвал Console.WriteLine
несколько раз, вы можете написать свой блок кода вместо него.
Вы можете использовать Thread.Sleep(5000);
Но опять же его внешний класс в соответствии с OP.
Но я бы предложил лучшее решение с использованием Async и Await. Еще одна вещь, которую вы должны иметь условие завершения, чтобы вы не вызывали бесконечного вызова, чтобы избежать ненужного потребления памяти.
public static async Task RepeatActionEveryInterval(Action action, TimeSpan interval, CancellationToken cancelToken)
{
while (true)
{
action();
Task task = Task.Delay(interval, cancelToken);
try
{
await task;
}
catch (TaskCanceledException)
{
return;
}
}
}
static void Main(string[] args)
{
CancellationTokenSource cancelToken = new CancellationTokenSource(TimeSpan.FromSeconds(50));
Console.WriteLine("Start");
RepeatActionEveryInterval(() => Console.WriteLine("Repeating Code"), TimeSpan.FromSeconds(5), cancelToken.Token).Wait();
Console.WriteLine("End");
Console.Read();
}
В этом примере этот код будет писать до 50 секунд.
Записывайте бесконечную петлю и сна в течение 5 секунд – Bharat
Но как я могу заставить поток спать? Я не знаю .. – Totallama
просто напишите 'Thread.Sleep (5000);' – Bharat