zugriff auf methode
-
hallo, wie kann ich es realisieren, von der MethodeB der Klasse B auf die MethodeA der KlasseA zuzugreifen, ohne dass ich die Klasse A der Klasse B bekannt mache ?
Gibts da irgendwo ne andere Methode ????public class A { private B objB; public A() { obj B = new B(); } public void MethodeA() { } } public class B { public void Methode() { // hier soll ein Zugriff auf die MethodeA der Klasse A erfolgen } }
-
Was stört dich drann, eine Instanz der Klasse A zu erzeugen. Oder MethodeA der A-Klasse statisch zu machen?
-
Wenn ich richtig sehe, dann hast du in der class A ein Objekt von class B erstellt und nun willst du innerhalb von B wieder auf A zugreifen.
Warum übergibst du nicht beim instanzieren von B eine Referenz von A mit?Falls du wirklich nichts in B von A wissen willst dann könntest du dies mit einem Interface realisieren:
public interface C { void MethodeA(); } public class A : C { private B objB; public A() { obj B = new B(this); } public void MethodeA() { //... } } public class B { C objC = null; public B(C c) { objC = c; } public void Methode() { // hier soll ein Zugriff auf die MethodeA der Klasse A erfolgen objC.MethodeA(); } }
Ansonsten würde ich das (so wie in java) über Reflection lösen aber trotdem nicht anhand des Methodennamen sondern über ein Interface.
lg
ms
-
danke für eure antworten.
das war mir bereits klar, aber ich dachte, dass es zb was ähnliches wie in "AfxGetApp" in der WinAPI gibt, um zb. eben auf die aktuelle applikation zuzugreifen.
-
es geht doch einfach mit Application-Klasse
-
Ich stehe vor einem ähnlichen Problem. Kann mir vielleicht jemand erklären wie man das mit Reflection löst? Danke.