Ich versuche im Grunde, eine Methode an eine andere Klasse zu übergeben, um sie später aufzurufen, kann dies aber in C # nicht ganz herausfinden (ich bin immer noch zu an Objective-C gewöhnt).
public class Class1{
private void btn_click(object sender, EventArgs e)
{
ServerRequest sr = new ServerRequest();
sr.DoRequest("myrequest", myCallback);
}
public void myCallback(string str)
{
}
}
Später möchte ich, dass meine ServerRequest-Klasse die Rückruffunktion grundsätzlich auslöst. Ist dies nicht möglich? (Grundsätzlich rufe ich einen Server an, um eine Anmeldeantwort für meine Software zu erhalten.)
Ich habe keinen Weg gefunden, dies mit Delegierten zu tun, und bekomme ständig Fehler. Hier ist die andere Klasse:
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
Ist das in # möglich? In Objective-C wäre das einfach und ich würde einfach so etwas tun
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];