C# Console uygulamasında timer nasıl kullanılır?

elessar (65) 11 yıl önce sordu

Merhabalar, c# console application da yarım saatte bir çalışacak bir program yapmak istiyorum. Acaba burada timer ı nasıl kullanırım?

Toplam 2 cevap


ergin (2539) 11 yıl önce cevapladı

C# konsol uygulamasında Timer kullanımının farklı bir örneği ise aşağıdaki gibidir.

using System;
using System.Threading;

class TimerKullanimi
    {
        static void Main(string[] args)
        {
            TimerBasla();
            Console.ReadKey();
        }

        private static void TimerBasla()
        {
            var timer = new Timer
            {
                Interval = 3000,
                Enabled = true
            };
            timer.Elapsed += new ElapsedEventHandler(TimerElapsedEvent);
        }

        static void TimerElapsedEvent(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("3 saniye oldu.");
        }
    }

 

alattin (17125) 11 yıl önce cevapladı

.Net altında iki adet Timer sınıfı bulunur:

System.Windows.Forms.Timer ve  System.Threading.Timer

System.Windows.Forms.Timer Windows tek parçacıklı Windows formları için tasarlanmıştır. 

Bu sebepten C#  Konsol uygulamaları için System.Threading altındaki System.Threading.Timer sınıfını kullanmalısınız.

C# konsol uygulamasında Timer kullanımına bir örnek,

using System;
using System.Threading;

class TimerOrnek
{
    static public void Tick(Object stateInfo)
    {
        Console.WriteLine("Tick: {0}", DateTime.Now.ToString("h:mm:ss"));
    }

    static void Main()
    {
        TimerCallback callback = new TimerCallback(Tick);

        Console.WriteLine("Timer yaratiliyor: {0}\n",
                           DateTime.Now.ToString("h:mm:ss"));

        // 5 saniyede bir çalışacak
        Timer stateTimer = new Timer(callback, null, 0, 60000 * 30);

        // sonsuz döngü.
        for (; ; ) { }
    }
}