Básicamente, estoy tratando de pasar un método a otra clase para que se llame más tarde, pero no puedo resolver esto en C # (todavía estoy demasiado acostumbrado 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)
{
}
}
Luego, más adelante, quiero que mi clase ServerRequest básicamente active la función de devolución de llamada, ¿no es esto posible? (Básicamente estoy llamando a casa a un servidor para obtener una respuesta de inicio de sesión a mi software)
No he podido encontrar una manera de hacer esto con los delegados, recibo errores continuamente. Aquí está la otra clase:
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
¿Es esto posible en #? En Objective-C esto sería simple y solo haría algo como
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];