โดยพื้นฐานแล้วฉันพยายามส่งเมธอดไปยังคลาสอื่นเพื่อเรียกใช้ในภายหลัง แต่ไม่สามารถเข้าใจสิ่งนี้ได้ใน 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];