Czy powinienem korzystać ze statycznych metod lub metod niestatycznych?
Stworzyłem aplikację konsolową w C # i jestGłówny metoda (statyczna), a moim wymaganiem jest zainicjowanie 2 timerów i obsługa odpowiednio 2 metod, które będą wywoływane okresowo, aby wykonać jakieś zadanie. Teraz wziąłem wszystkie inne metody / zmienne statyczne, ponieważ wywołują one zdarzenia obsługi timera (które są statyczne z powodu wywołania go z main).
Teraz chciałbym wiedzieć, jak powyżej scenariusz będzie zużywał pamięć, jeśli ta konsola działa przez długi czas? jeśli chciałbym zastosować koncepcję oops, to czy muszę sprawić, aby wszystkie metody / zmienne nie były statyczne i uzyskać do nich dostęp, tworząc obiekt klasy? w tym przypadku jak pamięć będzie zużywana?
Aktualizacja: Poniżej znajduje się fragment mojego kodu
public class Program
{
readonly static Timer timer = new Timer();
static DateTime currentDateTime;
//other static variables
//-----
static void Main()
{
timer.Interval = 1000 * 5;
timer.AutoReset = true;
timer.Enabled = true;
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Start();
//2nd timer
//-----
System.Console.ReadKey();
timer.Stop();
}
static void timer_Elapsed(object sender, ElapsedEventArgs e)
{
currentDateTime = DateTime.UtcNow;
PushData();
}
private static void PushData()
{
//Code to push data
}
}