Я в основном пытаюсь передать метод другому классу, который будет вызываться позже, но не могу понять это на С# (я все еще слишком привык к 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];