मुझे आश्चर्य है अगर वहाँ इस तरह किसी भी तरह से कुछ मूल्य प्रकार के लिए संभव हो जाएगा ...दिलचस्प "रेफरी के पैरा" सुविधा, कोई कामकाज?
public static class ExtensionMethods {
public static void SetTo(this Boolean source, params Boolean[] bools) {
for (int i = 0; i < bools.Length; i++) {
bools[i] = source;
}
}
}
तो यह संभव होगा:
Boolean a = true, b, c = true, d = true, e;
b.SetTo(a, c, d, e);
बेशक
, इस वजह bools काम नहीं करता है एक मान प्रकार हैं ताकि वे फ़ंक्शन में एक मान के रूप में पारित हो जाएं, संदर्भ के रूप में नहीं।
मूल्य प्रकारों को संदर्भ प्रकारों (दूसरे वर्ग बनाकर) में लपेटने के अलावा, पैराम संशोधक का उपयोग करते समय संदर्भ (रेफरी) द्वारा फ़ंक्शन में चर को पार करने का कोई तरीका है?
"एक चर सेट करने की बात" एक बंद होने की तरह दिखती है, जो वैरिएबल को क्लास फ़ील्ड में बदल देती है। ऐसा लगता है कि एक विशेष प्रकार का भंडारण स्थान "कॉन्स रेफ टू ब्लॉब होल्डिंग एन कॉन्स्ट बायफ्रेज़ और एम गैर-कॉन्स बायफ्स" का प्रतिनिधित्व करता है, और फ़ंक्शन पैरामीटर के अलावा किसी भी उद्देश्य के लिए उस प्रकार के स्टोरेज स्थानों को उपयोग करने की अनुमति नहीं देनी चाहिए, सुरक्षित। ऐसे उद्देश्यों के लिए बंद करने का उपयोग करना लगता है। मेरे दिमाग में, उनके दायरे के बाहर चर का उपयोग करना आम तौर पर गलत है; बंद करने के लिए चर को घुमाने के बजाय, उन्हें गुजरने के दायरे-सीमित साधनों का उपयोग करना बेहतर होगा। – supercat
जो मैं देखना चाहता हूं वह एक विशेष "ByRefDelegate" होगा जो एक स्थाई संग्रह के साथ एक स्थिर विधि सूचक को जोड़ देगा; ऐसी चीज को जारी नहीं किया जा सका - केवल घोंसला दिनचर्या में ही पारित किया जा सकता है। वे विधियां जो एक प्रतिनिधि को स्वीकार करती हैं लेकिन जारी नहीं रहती हैं, उन्हें "ByRefDelegates" को स्वीकार करने के अधिभार हो सकते हैं, और लागू होने पर संकलक बंद होने की बजाए उनको उत्पन्न कर सकते हैं, इस प्रकार आम मामले के लिए एक बड़ा प्रदर्शन बढ़ावा प्रदान करते हैं। – supercat