मैं स्थानीय चर में एक क्रिया संग्रहीत कर रहा हूं, फिर मैं उस स्थानीय चर के दायरे से बाहर होने के बाद उपयोग कर रहा हूं। क्या इसका उपयोग करने से पहले इसे साफ़ करने का खतरा है? यहाँ एक उदाहरण है:एक्शन/लैम्ब्डा एक्सप्रेशन मेमोरी मैनेजमेंट प्रश्न
public List<object> GetMaps() {
Action<Customer1, Customer2> baseMap = (Customer1 c1, Customer2 c2) => {
c2.FirstName = c1.FirstName;
};
var list = new List<object>() {
new Action<SpecialCustomer1 c1, SpecialCustomer2 c2>() {
baseMap(c1, c2);
c2.SpecialProperty = c1.SpecialProperty;
},
new Action<SpecialCustomer1 c1, SpecialCustomer2 c2>() {
baseMap(c1, c2);
c2.SpecialProperty2 = c1.SpecialProperty2;
},
};
return list;
}
तो, आप इस उदाहरण में देख सकते हैं कि समारोह कार्यों कि फोन baseMap
की एक सूची लौटा रहा है। baseMap
सिर्फ एक स्थानीय चर है। क्या यह तथ्य है कि इसे .NET के लिए पर्याप्त अन्य क्रियाओं के भीतर बुलाया गया है ताकि इसे साफ न किया जा सके?