एफ # पावरपैक के बीच इंटरऑप Func < ...> F # फ़ंक्शंस, या तो मानक या tupled वाले से अनुवाद करने के लिए रूपांतरण विधियों के एक सेट के साथ आता है। लेकिन क्या यह विपरीत प्राप्त करना संभव है: यदि आप एफ # कोड से एक सी # विधि से कॉल करना चाहते हैं जो Func < ...> लेता है और मूल F # lambda अभिव्यक्ति का उपयोग करना चाहता है (उदा। मज़ा x -> some_function_of (x))?एफ # और सी # लैम्बडास
अगर मैं एक हस्ताक्षर के साथ एक एफ # समारोह भेजें 'एक ->' ख एक सी # विधि है कि उम्मीद है Func तो एफ # संकलक निम्न त्रुटि उत्पन्न करने के लिए:
This expression was expected to have type Function<'T,'R> but here has type 'T -> 'R
मैं एफ # लैम्ब्डा भाव के साथ रहना चाहते हैं, लेकिन सी # Func lambda के रूप में भेजने में सक्षम होने के लिए एक अनुवाद परत का उपयोग करने के लिए। क्या यह प्राप्त करने योग्य है?
किसी भी व्यक्ति को यहां पावरपैक में रूपांतरण विधियों को खोजने में परेशानी हो रही है, तो वे FSharp.PowerPack.Linq में हैं, FuncConvertExtensions –