Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » C# Datensammlung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C# Datensammlung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

C# Datensammlung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
gibt es eine Möglichkeit, mehrere Variablen in einem Programm für alle Windows Forms zugänglich zu machen?

Danke schon mal im voraus.
smile

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
14.03.2013 19:24 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

2 (ausgewählte) Möglichkeiten. Eine Klasse mit nur statischen Membern, auf die du zugreifst oder eine Klasse, die das Singleton-Pattern implementiert. Das Singleton-Pattern stellt sicher, dass es nur eine Instanz (ein Objekt) von der Klasse geben kann. Dort kannst du dann deine Daten ablegen und zwischen den Objekten austauschen. Nur wenn du mit mehreren Threads arbeitest, könnte es zu seltsamen verhalten kommen.

VG,

Karlito
14.03.2013 21:17 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich glaube ich bevorzuge hier Variante 1.
Eine Klasse mit statischen Membern wäre eine Klasse mit statischen Variablen oder?
Und auf statische Variablen können wircklich alle Forms zugreifen? verwirrt

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von InformaTiger: 14.03.2013 22:36.

14.03.2013 22:35 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi,

Zitat:
Original von InformaTiger
Eine Klasse mit statischen Membern wäre eine Klasse mit statischen Variablen oder?


Genau.

Zitat:
Original von InformaTiger
Und auf statische Variablen können wircklich alle Forms zugreifen? verwirrt


Ja. Jedoch müssen die Variablen nicht statisch sein, damit alle darauf zugreifen können. Die Sichtbarkeit "public" muss gegeben sein. Man könnte auch ein Objekt erzeugen und dieses allen Forms bekannt machen. Damit hätten auch alle Forms Zugriff auf "den gemeinamen Speicher". Du hättest so auch den Vorteil, dass du den gemeinsamen Speicher austauschen, indem Du den Forms einfach ein neues Objekt bekannt machst...

Das ist am Anfang ein wenig schwer zu verstehen. Ist es klar oder soll ich mal ein Beispiel machen?

VG,

Karlito
14.03.2013 23:04 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
InformaTiger InformaTiger ist männlich
Tripel-As


images/avatars/avatar-77.gif

Dabei seit: 19.02.2013
Beiträge: 228
Herkunft: Südtirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich glaube schon dass ich es verstanden habe. Mit einem Beispiel wäre ich mir allerdings sicherer. Und kann ich diese Klasse im Progam.cs anlegen oder in der Form1.cs ? Augenzwinkern

Lg
InformaTiger

__________________
Why do Java developers wear glasses? Because they can't C#
15.03.2013 16:09 InformaTiger ist offline Beiträge von InformaTiger suchen Nehmen Sie InformaTiger in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi,

per Konvention sollte man für jede Klasse eine neue Datei anlegen. Das macht die Sache auch wesentlich übersichtlicher. Das Beispiel muss ich mir erst einfallen lassen... Weis nicht ob ich das heute abend schaffe.

Edit: Im Prinzip kann man in C# aber auch alle Klassen in einer Datei definieren...

VG,

Karlito
15.03.2013 17:47 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hier noch das Beispiel:

das Kleine Programm beinhaltet eine Main-Form und eine Subform. Alle Forms holen sich beim laden vom Store-Manager einen Sharedstore. Wie du siehst wird da immer das selbe Objekt zurückgegeben. (Das ist fast wie Singleton).

Wenn du Subforms öffnest (Button "Create Window") dann erhältst du unterfenster. Wenn du jetzt den Text in einem der Fenster änderst, dann wird der Text in allen Fenstern angepasst.

Stell dir vor es gäbe noch ein Ereignis, welches mitteilt, dass der Store sich geändert hat. Die Forms könnten sich dann ein neues Store-Objekt vom Store-Manager abholen und du könntest den Speicher quasi unter den Forms weg austauschen.

Verständlich?

VG,

Karlito

Dateianhang:
zip SharedStore.zip (29,47 KB, 426 mal heruntergeladen)
17.03.2013 17:15 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » C# Datensammlung