मैं अपने सी # एक छोटा सा परियोजना के साथ चारों ओर खिलवाड़ किया गया था और मैं इस कोड देख कर हैरान था संकलित:निम्न कोड त्रुटियों के बिना संकलित क्यों करता है?
var a = new Action<string>(ref b => b = "hello");
यह दूसरी तरह के आसपास Flipping, Action<string> a = ref b => b = "hello";
की तरह 'रेफरी' में एक वाक्य त्रुटि दे देंगे।
A ref or out argument must be an assignable variable
मैं संकलक में एक बग का सामना करना पड़ा है:
पर्याप्त ज़रूर, कॉपी-पेस्ट http://dotnetfiddle.net में टुकड़ा एक संकलक त्रुटि देता है? (मैं वी.एस. 2015 और सी # 6. उपयोग कर रहा हूँ)
संपादित करें: बस नेट फिडल पर रोसलिन संकलक का प्रयोग किया, यह अब भी वही त्रुटि उत्सर्जन करता है।
मैं [tryroslyn] (http://goo.gl/00ZyS0) में इसे करने की कोशिश और हाँ: यह संकलित - व्यवहार में ही है, जैसे कि 'ref' वहां नहीं थे। एक बग की तरह दिखता है (जो संभवतया रिपोर्ट किया जाना चाहिए यदि पहले से नहीं किया गया है)। –
@ लुकास ट्रेज़नेसविस्की वास्तव में। मैंने इसके बारे में [Roslyn GitHub repo] (https://github.com/dotnet/roslyn/issues/6646) को एक मुद्दा सबमिट कर दिया है। –
अजीब। वाक्य रचनात्मक रूप से सही लैम्ब्डा '(रेफ स्ट्रिंग बी) => बी =" हैलो "के बारे में क्या है (ब्रांड्स और प्रकार 'स्ट्रिंग') को नोट करें, क्या इसे उस कंपाइलर के साथ' एक्शन 'में परिवर्तित किया जा सकता है? मेरे पास अभी विज़ुअल सी # 6 कंपाइलर तक पहुंच नहीं है। –