Mam klasę Class1 i klasę Class2 dziedziczące po klasie BaseClass. W klasie Class1 jest metoda Method1(), a w klasie Class2 metoda Method2(). Mam zabezpieczenie takie, że ZAWSZE najpierw jest wywoływana metoda Method1() klasy Class1 a dopiero potem metoda Method2() klasy Class2 (tutaj przedstawię tylko ogólną charakterystykę klas).
W klasie Class1 w metodzie Method1() wykonuję operacje na rekordach w bazie danych, którym muszę zmienić status w bazie danych na 'przetworzone' po pewnych operacjach, ale nie mogę tego zrobić w Method1(), bo zaraz po Method1() zostanie wywołana Method2() z klasy Class2 gdzie również będzie praca na CZĘŚCIOWO wspólnych (ale nie w 100% tych samych) rekordach o statusie innym niż 'przetworzone'.
W związku z czym pomyślałem sobie, że może w nadklasie BaseClass utworzyć listę statyczną, inicjalizować ją w Method1() i dodać rekordy, w Method2() również dodać rekordy, które jeszcze nie występują na liście i na końcu Method2() zmienić statusy - czy to najlepsze rozwiązanie??
public class BaseClass
{
protected static List<int> ids;
}
public class Class1 : BaseClass
{
public void Method1()
{
ids = new List<int>();
ids.Add(23);
}
}
public class Class2 : BaseClass
{
public void Method2()
{
ids.Add(47);
//tutaj zmiana statusu rekordow z bazy o id rownym tym z listy ids
}
}
Class1 c1 = new Class1();
Class2 c2 = new Class2();
c1.Method1();
c2.Method2();