मैं सी # का उपयोग करके एक गेम लिख रहा हूं और कई मामलों में पाया गया है जहां एक फ़ंक्शन प्रतिनिधि होता है और मैंने इसके बजाय पैरामीटर के रूप में उपयोग करने के लिए एक प्रतिनिधि को बनाने और कैशिंग करने के बजाय फ़ंक्शन नाम में अनजाने में पारित किया है। इससे इन कार्यों के लिए प्रत्येक कॉल के लिए एक प्रतिनिधि वस्तु बनने का कारण बनता है, जो फ़ंक्शन लौटने पर तत्काल कचरा बन जाता है।सी # में निहित प्रतिनिधि अनुमान से बचने या पहचानने के लिए कैसे?
मैं सभी स्थानों पर जहां मैं इस गलती की है प्राप्त करना चाहते हैं, और मैं उन्हें की तलाश में हर फ़ाइल की हर पंक्ति को पढ़ने से बचने के लिए पसंद करते हैं (वहाँ साल कोड के लायक हैं)। मैंने देखा कि वीबी के पास 'विकल्प सख्त' है जो ऑब्जेक्ट्स के अंतर्निहित निर्माण को अक्षम कर देगा जो मुझे लगता है कि सी # में यह सुविधा थी, लेकिन मुझे नहीं लगता कि यह ऐसा करता है। मैंने संकलक चेतावनी विकल्पों की भी समीक्षा की है और उनमें से कोई भी यहां या तो मदद करने लगता है।
क्या निहित प्रतिनिधि अनुमान द्वारा बनाई गई इन वस्तुओं की पहचान करने का कोई उचित सुविधाजनक तरीका है, इसलिए मुझे पता चल सकता है कि कचरे से बचने के लिए मुझे कॉलबैक बनाने/कैश करने की आवश्यकता है?
वहाँ है कुछ कोड उदाहरण प्रदान कर सकते हैं जहां, उदाहरण के लिए, एक दृश्य स्टूडियो regex खोज उन्हें मिल सकती है? – mellamokb
एकमात्र तरीका मैं देखता हूं कि कोई प्रतिनिधि/फ़ंक्शन जो प्रतिनिधि को स्वीकार करता है, फिर राइट-क्लिक-> संदर्भ ढूंढें (हालांकि इसमें प्रत्येक कॉल को मैन्युअल रूप से जांचना शामिल है)। –
क्या आपके पास कोई सबूत है कि यह वास्तव में * आपको समस्या का कारण बन रहा है? मैं उम्मीद करता हूं कि उस समय के विशाल बहुमत के लिए, स्पष्ट कैशिंग के बजाय विधि समूह रूपांतरण का उपयोग करने के पठनीयता लाभ की तुलना में प्रदर्शन नकारात्मकता नगण्य है। –