I'm basically trying to pass a method to another class to be called later, but can't quite figure this out in C# (I'm still too used to 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) { } }
Then later on I want my ServerRequest class to basically fire the callback function, is this not possible? (I'm basically phoning home to a server for a login response to my software)
I haven't been able to find a way to do this with delegates, continuously get errors. Here is the other class:
public class ServerRequest { public void DoRequest(string request, Delegate callback) { // do stuff.... callback("asdf"); } }
Is this possible in #? In Objective-C this would be simple and I would just do something like
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];
You can pass it as Action<string>
- which means it is a method with a single parameter of type string
that doesn't return anything (void) :
public void DoRequest(string request, Action<string> callback) { // do stuff.... callback("asdf"); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With