Witam serdecznie. Na samym początku napiszę, że jestem kompletnym laikiem jeżeli chodzi o C#. Robie prostą aplikację pozwalającą na dodawanie/usuwanie/edycję rekordów w bazie danych z wykorzystaniem LINQ. Aplikacja składa się na główne okno (przyciski dodaj, usuń etc. po naciśnięciu których otwierane jest kolejne okno z konkretną funkcjonalnością). Klasa MainWindow przechowuje dwie zmienne, które inicjalizowane są w konstruktorze:
private SqlConnectionStringBuilder connectionString;
private DBDataContext myDB;
Już po przypisaniu konkretnych wartości, ustawieniu connectionStringa otwierane jest połączenie z bazą:
myDB.Connection.Open();
Każde nowe okno, również posiada DBDataContext i przy jego tworzeniu konstruktor inicjuje to pole aktualnym stanem z MainWindow. Zastanawiam się czy jest to rozwiązanie poprawne czy warto zrobić to w całkiem inny sposób? Myślałem o stworzeniu jakiejś osobnej klasy typu ConnectionInfo, która przechowywałaby te dwa elementy (stringBuilder i DataContext), aczkolwiek nie mam pojęcia jak uzyskać dostęp z każdego okna do aktualnego stanu tych zmiennych bez zastosowania zmiennych globalnych. Można by tu wykorzystać zmienne statyczne? Za każdą podpowiedź/wskazówkę będę wdzięczny :).