Entwickler-Ecke
C# - Die Sprache - Globale Variable
theo - So 04.06.06 17:44
Titel: Globale Variable
Hallo alle zusammen!
Ich habe bis jetzt mit delphi proammiert und will jetzt .net (C#) nutzen.
Meine Frage:
Wie kann ich eine Variable (gemeinsame SQL-Connection) erzeugen, die in allen Forms und so sichtbar ist und zum Progammstart inizialisiert wird.
in delphi habe ich das bisher so gelöst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| unit xyz; .....
var WRSConnection:= TWRSConnection;
initialization WRSConnection:=TWRSConnection.create(nil); WRSConnection.Connected:=true;
finalization if assigned(WRSConnection) then begin WRSConnection.Free; end;
end. |
Moderiert von Christian S.: Delphi-Tags hinzugefügt
Christian S. - So 04.06.06 18:21
Da C# vollständig objektorientiert ist, gibt es keine globalen Variablen. Du kannst höchstens eine Klasse anlegen und dort Klassenvariablen ablegen, die sind dann überall verfügbar. Ob das guter Stil ist, muss man im Einzelfall entscheiden. Sowas wie finalization und initialization kenn ich in C# gar nicht. :gruebel:
theo - So 04.06.06 18:35
Ich habe eine DB-Anwendung mit vielen Forms. Die "globale Variable" in Delphi habe ich nur für eine gemeinsame Datenbankverbindung genutzt, damit nicht jede Form eine eigene DB-Verbindung aufbauen muss. Ist für diesen Einsatzfall eine Klassenvariable sinvoll? Oder gibt es einen bessere Lösung?
RedEagel - Di 25.07.06 18:53
Hallo,
Eine klassenvariable ist eine gute Idee, da du in der Klasse die DB-Verbindung nur einmal proggen musst und diese klasse dann überall wo du sie verwendest instanzieren kannst (myClass DBKlasse = new myClass(); )
...
Kha - Di 25.07.06 21:09
:gruebel: ?
Der Sinn einer Klassenvariable ist es doch gerade, dass die Klasse nicht instanziiert werden muss.
UC-Chewie - Di 25.07.06 21:40
Such doch mal nach
SINGLETON, das sollte genau das sein, was du suchst.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!