पर कॉलबैक फ़ंक्शन पास करना मैं मूल रूप से बाद में कॉल करने के लिए किसी अन्य वर्ग को एक विधि को पारित करने का प्रयास कर रहा हूं, लेकिन इसे सी # में काफी समझ नहीं सकता (मैं अब भी उद्देश्य-सी के लिए उपयोग किया जाता हूं)।किसी अन्य वर्ग
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");
}
}
क्या यह # में संभव है? ऑब्जेक्टिव-सी में यह आसान होगा और मैं बस की तरह
[myObject performSelector(@selector(MyFunctionName)) withObjects:nil];
इतना आसान धन्यवाद! मुझे एक्शन के बारे में कोई जानकारी नहीं थी! – Geesu
और आप DoRequest को कैसे कॉल करते हैं? क्या आप एक स्ट्रिंग या विधि पास करते हैं? कार्रवाई के बारे में अन्य उत्सुकता के लिए – Kokodoko
। यहाँ एक त्वरित टिप है। यह कई प्रकार parms लेकिन कोई वापसी (ग # सदस्यों पारित करने के लिए हो सकता है केवल कार्रवाई प्रकार पर संशोधक समारोह पास करने के लिए अनुमति नहीं है, समारोह फिर कोई संशोधक का उपयोग किसी भी प्रकार पर सूची में अंतिम प्रकार फ़ंक्शन रिटर्न प्रकार असल में एक्शन और फनक सरल प्रतिनिधियों का उपयोग करने का त्वरित तरीका है –
gg89