В основному я намагаюся передати метод іншому класу, який буде викликаний пізніше, але не можу зрозуміти це в C # (я все ще занадто звик до 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)
{
}
}
Потім пізніше я хочу, щоб мій клас ServerRequest в основному запускав функцію зворотного виклику, чи це не можливо? (В основному я телефоную додому на сервер для відповіді на вхід до мого програмного забезпечення)
Я не зміг знайти спосіб зробити це з делегатами, постійно отримувати помилки. Ось інший клас:
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
Чи можливо це в #? У Objective-C це було б просто, і я б просто зробив щось подібне
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];