Ich komme aus der Delphi-Ecke und da gab es bequeme applikationsweite globale Variable, z.B. für eine Datenbankverbindung. Bekanntweise geht es in C# nicht so einfach - aber ich habe bisher kein Workaround gefunden und mir nun folgendes ausgedacht:
Problemstellung: Zugriff auf EINE Datenbank aus mehreren Klassen. Werden die Datenbankverbindungen lokal angelegt, endet man bei mehreren aktiven DB Verbindungen - das soll/darf nicht sein.
Zielsetzung: Eine Variable die aus mehreren Klassen ansprechbar ist.
Rezept:
Man nehme:
- Eine Klasse mit einer "public static" Variablen, von einem beliebigen Typ, etwa auch einer Datenbank-Verbindung.
- Im Constructor der Klasse wird die Variable instanziert, bei einer DB Verbindung wird diese damit aufgebaut.
- Allen involvierten Klassen greifen auf diese statische Variable zu.
- Eine (aber eben nur eine einzige) der involvierten Klassen (etwa die Applications Klasse) muss die Instanzierung der oa. "Hüllklasse" vornehmen.
Frage an die Community: gibt's da noch wo einen Pferdefuss, den ich bisher nicht gesehen habe?
Danke für Kommentare
Michael
Problemstellung: Zugriff auf EINE Datenbank aus mehreren Klassen. Werden die Datenbankverbindungen lokal angelegt, endet man bei mehreren aktiven DB Verbindungen - das soll/darf nicht sein.
Zielsetzung: Eine Variable die aus mehreren Klassen ansprechbar ist.
Rezept:
Man nehme:
- Eine Klasse mit einer "public static" Variablen, von einem beliebigen Typ, etwa auch einer Datenbank-Verbindung.
- Im Constructor der Klasse wird die Variable instanziert, bei einer DB Verbindung wird diese damit aufgebaut.
- Allen involvierten Klassen greifen auf diese statische Variable zu.
- Eine (aber eben nur eine einzige) der involvierten Klassen (etwa die Applications Klasse) muss die Instanzierung der oa. "Hüllklasse" vornehmen.
Frage an die Community: gibt's da noch wo einen Pferdefuss, den ich bisher nicht gesehen habe?
Danke für Kommentare
Michael
Comment