J'essaie essentiellement de passer une méthode à une autre classe pour qu'elle soit appelée plus tard, mais je n'arrive pas à le faire en C# (je suis encore trop habitué à l'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)
{
}
}
Plus tard, je veux que ma classe ServerRequest déclenche la fonction de rappel, n'est-ce pas possible ? (En fait, je téléphone à un serveur pour obtenir une réponse de connexion à mon logiciel).
Je n'ai pas réussi à trouver un moyen de le faire avec les délégués, j'obtiens toujours des erreurs. Voici l'autre classe :
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
Est-ce possible dans # ? En Objective-C, ce serait simple et je ferais simplement quelque chose comme
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];