Hallo zusammen,
ich habe folgendes Problem und bin mir nicht ganz sicher ob meine Vorgehensweise korrekt ist, bzw.
ob delegates überhaupt die Lösung sind.
Ich habe eine Klasse A, die drei Methoden haben soll, die ich erst bei der eigentlichen
zuweisung der anderen Klassen definiert brauche, d.h. also je nachdem wie ich die Klasse B
aufrufe, werden die Methoden in Klasse A entsprechend gesetzt (bzw. so sollte es sein).
Also vom Prinzip:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| public Class A{ public delegate int Save1(string type); public delegate int Save2(string type); public delegate int Save3(string type);
}
public Class B{ . . .
public void setMethods(string type, A test) { switch(type) { case "abc": test.Save1 = new Save1(myMethod1); } }
public void myMethod1() { } public void myMethod2() { } public void myMethod3() { }
} |
Von dort an hätte ich doch eigentlich einen Zugriff auf A.Save1, A.Save2 und A.Save3 mit den hinterlegten Methoden haben sollen, oder?
Leider kann ich nämlich die delegates nicht aus der anderen Klasse aufrufen wie z.B. eine public int Variable.
Ist der Ansatz so überhaupt richtig? Wenn ja, was könnte falsch sein?
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt