Về cơ bản, tôi đang cố gắng chuyển một phương thức cho một lớp khác sẽ được gọi sau này, nhưng không thể hiểu được điều này trong C # (tôi vẫn quá quen với 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)
{
}
}
Sau đó, tôi muốn lớp ServerRequest của mình về cơ bản kích hoạt hàm gọi lại, điều này không thể thực hiện được? (Về cơ bản, tôi đang gọi điện về nhà đến máy chủ để nhận phản hồi đăng nhập vào phần mềm của mình)
Tôi đã không thể tìm ra cách để làm điều này với các đại biểu, liên tục nhận được lỗi. Đây là lớp khác:
public class ServerRequest
{
public void DoRequest(string request, Delegate callback)
{
// do stuff....
callback("asdf");
}
}
Điều này có khả thi trong # không? Trong Objective-C, điều này sẽ đơn giản và tôi chỉ làm điều gì đó như
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];