Ersatz für globale Variable
-
Hi,
wenn ich das richtig sehe, dann gibt es in C# keine globalen Variablen.
Heißt das für mich, dass ich eine eigene Klasse schreiben muss, die als öffentliche Member die Var. beinhaltet, die ich in anderen Programmiersprachen als global deklarieren würde?
Hintergrund: Ich verwende einen Timer, der auf versch. Var., die in Main deklariert sind, zugreifen und diese abändern soll. Dazu benötige ich ja eine Funktion (Elapsed event) die der Timer aufruft, und daher mein Problem.
Danke im Voraus
-
ja, wie du schon gesagt hast!!! musste eine eigene klasse schreiben, das liegt daran das in c# alles in klassen organisiert ist.
lg rizi2
-
Okay, ich habe mir folgende struct angelegt:
struct GlobalVar { public int posX; public int posY; public int x0; public int y0; public int x1; public int y1; public int vx; public int vy; public GlobalVar(int posX, int posY, int x0, int y0, int x1, int y1, int vx, int vy) { this.posX = posX; this.posY = posY; this.x0 = x0; this.y0 = y0; this.x1 = x1; this.y1 = y1; this.vx = vx; this.vy = vy; } }
In der Main initialisiere ich die Variablen.
(GlobalVar globalvar = new GlobalVar(......)
Wieso sehe ich zwar in der Main die Member der struct, allerdings in einer anderen Methode nicht?
Vom Ziel der globalen Variablen bin ich anscheinend noch weit entfernt...bitte um Hilfe. Danke
-
Mach doch einfach die Objektvariablen statisch.
-
-
LordJaxom schrieb:
anscheinend eher nicht...leider
-
LordJaxom schrieb:
Richtete sich das an mich?
-
Singleton angucken
-
@interpreter: Nö
-
k
-
Falls Du mit .NET 2.0 arbeitest, kannst Du Dir statische Klassen anschauen.