मेरे पास व्यापक स्थैतिक सदस्यों के साथ एक कक्षा है, जिनमें से कुछ प्रबंधित और अप्रबंधित वस्तुओं के संदर्भ रखती हैं।कैसे और कब सी # स्टेटिक सदस्यों का निपटारा किया जाता है?
उदाहरण के लिए, स्थिर कन्स्ट्रक्टर को टाइप के संदर्भ में जल्द ही बुलाया जाता है, जिससे मेरी कक्षा टास्क के ब्लॉकिंग को अवरुद्ध कर देती है। ऐसा तब होता है जब उदाहरण के लिए स्थिर विधियों में से एक कहा जाता है।
मैंने आईडीस्पोजेबल लागू किया, जो मुझे बनाए गए किसी भी इंस्टेंस ऑब्जेक्ट पर निपटान को संभालने के तरीकों को देता है। हालांकि, अगर उपभोक्ता मेरी कक्षा से कोई इंस्टेंस ऑब्जेक्ट नहीं बनाता है तो इन विधियों को कभी नहीं कहा जाता है।
मेरी कक्षा के स्थिर भाग द्वारा बनाए गए संदर्भों का निपटान करने के लिए मैं कोड कहां और कहां रखूं? मैंने हमेशा सोचा कि स्थिर-संदर्भित संसाधनों का निपटान तब हुआ जब आखिरी उदाहरण वस्तु जारी की गई; यह पहली बार है जब मैंने कभी एक कक्षा बनाई है जहां कोई भी उदाहरण कभी नहीं बनाया जा सकता है।
स्टेटिक आइटम आवेदन की पूरी निष्पादन के लिए उपलब्ध हैं। आप नए कीवर्ड का उपयोग करके स्थिर आइटम नहीं बनाते हैं, इसलिए इसका मतलब है कि आपके पास कुछ भी नहीं हैं, क्योंकि आप वास्तव में कुछ भी तत्काल नहीं करते हैं। प्रबंधित वस्तुओं के बारे में, उनके बारे में चिंता न करें, जीसी उनकी देखभाल करेगा। अप्रबंधित संसाधनों के बारे में उन्हें एक गैर स्थैतिक वर्ग में उपयोग करने का प्रयास करें, या जब तक आप अपना आवेदन बंद नहीं कर लेते तब तक उन्हें रखा जाएगा। स्टेटिक आइटम निपटान का समर्थन नहीं करते हैं। – alexandrudicu
धन्यवाद। ऐसा लगता है कि मुझे यहां अपने डिजाइन पर पुनर्विचार करने की आवश्यकता है। – Joe