Zasadniczo próbuję przekazać metodę do innej klasy, która ma zostać wywołana później, ale nie mogę tego zrozumieć w C # (nadal jestem zbyt przyzwyczajony do 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)
{
}
}
Później chcę, aby moja klasa ServerRequest zasadniczo uruchamiała funkcję wywołania zwrotnego, czy nie jest to możliwe? (Zasadniczo dzwonię do domu na serwer w celu uzyskania odpowiedzi logowania do mojego oprogramowania)
Nie byłem w stanie znaleźć sposobu, aby to zrobić z delegatami, ciągle otrzymuję błędy. Oto druga klasa:
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
Czy to możliwe w #? W Objective-C byłoby to proste i po prostu zrobiłbym coś takiego
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];