लिंककिट में IEnumerable
के लिए एक विस्तार विधि है।सी # संदिग्ध विस्तार विधियां
Error 4 The call is ambiguous between the following methods or properties:
'LinqKit.Extensions.ForEach<Domain>(System.Collections.Generic.IEnumerable<Domain>, System.Action<Domain>)'
and
'System.Linq.EnumerableExtensionMethods.ForEach<Domain>(System.Collections.Generic.IEnumerable<Domain>, System.Action<Domain>)'
मैं इस त्रुटि से कैसे छुटकारा पा सकता हूं?
एक तरफ नोट पर - एरिक लिपर्ट के पास कुछ महान बिंदु हैं कि क्यों 'फॉरएच' एक्सटेंशन विधि सबसे अच्छा विचार नहीं हो सकता है ... यह पढ़ने योग्य है: http://blogs.msdn.com/b/ericlippert/archive /2009/05/18/foreach-vs-foreach.aspx –
किसके बारे में बात करते हुए, 'System.Linq.EnumerableExtensionMethods' किस लाइब्रेरी से आया था? – StriplingWarrior
@ रीडकोप्सी लिपर्ट का तर्क फर्जी है और यह दर्शाता है कि कार्यात्मक प्रोग्रामिंग को सी # पर कैसे खराब किया गया था, उदाहरण के लिए, 'मैप' के बजाय' चयन ', 'फ़ोल्ड' के बजाय' कुल ', कोई' फ़ोल्डर 'नहीं ...)। स्कैला, इसके विपरीत, एक 'foreach' विधि है, भले ही उसके पास' कथन 'है जो संग्रहों पर पुनरावृत्ति करता है ... असल में,' लूप '' foreach' (अन्य चीजों के साथ) को कॉल करने के लिए विस्तारित करता है। स्कैला एक अनिवार्य कोडिंग शैली की अनुमति देता है, लेकिन विभिन्न तरीकों से प्रोग्रामर को एक कार्यात्मक शैली की ओर बढ़ने के लिए प्रोत्साहित किया जाता है क्योंकि वे अधिक अनुभवी बन जाते हैं। –