[C#] Uruchamianie funkcji co określony interwał czasu

Witam, szukałem sposobu, by uruchamiać daną funkcję co np. minutę. Jedyne co znalazłem to to:

private void Odliczanie()

        {

            int DoubleToInt = Convert.ToInt32(TimeSpan.FromMinutes(1).TotalMilliseconds);

            var timer = new System.Threading.Timer((e) =>

            {

                //mojafunkcja();

            }, null, 1000, DoubleToInt );





        }

Jednak odlicza tylko jakiś czas (obstawiam około 10 minut) i potem przestaje… Co może być nie tak? Ewentualnie czy znacie może metody jak zrobić odliczanie czasu na bazie zegara systemowego? Coś jak TIME_TICK w Androidzie

public class MyViewModel{



private readonly DispatcherTimer dispatcherTimer = new DispatcherTimer(DispatcherPriority.Send);



        public MyViewModel()

        {



            this.dispatcherTimer.Interval = TimeSpan.FromMilliseconds(125); // tutaj ustawiasz jak często ma coś się dziać

            this.dispatcherTimer.Tick += this.DispatcherTimerTick;

            this.dispatcherTimer.Start();

        }



public string MemoryStatus {get;set;}



        private void DispatcherTimerTick(object sender, EventArgs eventArgs)

        {

            var currentProcess = Process.GetCurrentProcess();

            var memoryUsed = currentProcess.PrivateMemorySize64;

            this.MemoryStatus = string.Format(CultureInfo.InvariantCulture, @"{0} MB", memoryUsed / 1024 / 1024);



            CommandManager.InvalidateRequerySuggested();

        }



}

możesz zrobić coś podobnego…

 

Pozdrawiam,

mr-owl

1 polubienie

Dziękuję,

działa wyśmienicie!