Entwickler-Ecke

C# - Die Sprache - Klassenübergreifend auf Methoden zugreifen


JonnyJohnson - Fr 17.08.12 14:19
Titel: Klassenübergreifend auf Methoden zugreifen
Hallo,

ich stoße bei C# momentan immer wieder auf das gleiche Problem:
Klasse A hat eine Methode A1, Klasse B eine Methode B1.
Während in der Klasse A noch andere Sachen passieren, soll die Methode B1 aufgerufen werden.
Bisher immer mit
var b = new B(); und dann mit b.B1(...)
verwendet, kommt nun das Problem hinzu, dass in B selber Daten verwaltet werden. Entsprechend sollen diese für Methoden in A zugänglich sein und genau da hakt es.
Wie sag ich A, dass es Dinge in B schon gibt und verwendet werden sollen?

MfG


Ralf Jansen - Fr 17.08.12 15:45

Dann muss A genau die Instanz von B kennen die du irgendwann erzeugt und mit Daten befüllt hast.

Du musst dir also die irgendwann erzeugte Klasse B in einer Variablen merken und sobald du die Klasse A erzeugst B an A übergeben. Zum Beispiel an eine Property von A (von dir zu erstellen). In deiner A1 Methode kannst du dann auf diese Property zugreifen anstatt ein neues B zu erzeugen und kannst die ursprüngliche Instanz verwenden.


JonnyJohnson - Mi 22.08.12 14:20

Ja, es kam (mal wieder) nur auf die Richtige Stelle zur Instanziierung an und schon klappt alles :)