मैं, Xbox360 के लिए एक खेल पर काम कर रहा हूँ XNA का उपयोग कर बना सकते हैं। पर एक्सबॉक्स कचरा कलेक्टर बल्कि बुरी तरह से, एक पीसी पर एक की तुलना में कैसा प्रदर्शन कर तो कम से कम करने के लिए उत्पन्न कचरा रखने एक सुचारू रूप से प्रदर्शन खेल के लिए महत्वपूर्ण है।का उपयोग कर करता है एक प्रतिनिधि कचरा
मैं मुझे के जीवन के लिए एक बार पढ़ने कि एक प्रतिनिधि बुला कचरा पैदा करता है, लेकिन अब कचरा बनाने प्रतिनिधियों के सभी संदर्भ नहीं मिल रहा है याद है। क्या मैंने इसे अभी बनाया है या प्रतिनिधि गन्दा हैं?
हैं प्रतिनिधियों गंदा, एक समाधान के सुझाव के लिए बोनस अंक हैं।
public delegate T GetValue<T>(T value, T[] args);
public static T Transaction<T>(GetValue<T> calculate, ref T value, params T[] args) where T : class
{
T newValue = calculate(value, args);
return foo(newValue);
}
मेरे कोड इस समय ऐसे ही अस्पष्ट लग रहा है, एकमात्र समाधान मैं के बारे में सोच सकते हैं प्रतिनिधियों की अपने आप को मुक्त करने के लिए एक वर्ग है जो एक अंतरफलक IValueCalculator विरासत में पारित करने के लिए है, और फिर मैं उस पर विधि कॉल कर सकते हैं इंटरफ़ेस, हालांकि वास्तव में बहुत साफ नहीं है!
प्रतिनिधि वास्तव में छोटा होना चाहिए और एक नहीं बनाना चाहिए जब आप उन्हें निष्पादित करते हैं तो कचरे के बहुत सारे। (यदि वे कचरा बनाते हैं तो यह प्रत्येक के लिए बाइट से भरा मुट्ठी होना चाहिए)। एक इंटरफेस संदर्भ के आसपास गुजरना और जब आप पूरा कर लें तो इसका उपयोग न करें कचरा भी बनायेगा। – CodingBarfield