Fondamentalmente sto cercando di passare un metodo a un'altra classe per essere chiamato in seguito, ma non riesco a capirlo in C # (sono ancora troppo abituato a Objective-C).
public class Class1{
private void btn_click(object sender, EventArgs e)
{
ServerRequest sr = new ServerRequest();
sr.DoRequest("myrequest", myCallback);
}
public void myCallback(string str)
{
}
}
Quindi in seguito voglio che la mia classe ServerRequest attivi fondamentalmente la funzione di callback, non è possibile? (Sto praticamente telefonando a casa a un server per una risposta di accesso al mio software)
Non sono stato in grado di trovare un modo per farlo con i delegati, ricevo continuamente errori. Ecco l'altra classe:
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
È possibile in #? In Objective-C questo sarebbe semplice e farei qualcosa di simile
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];