जैसा कि अन्य ने कहा है, यह स्ट्रिंग रीडर को डिस्पोजेड नहीं कर रहा है, इसलिए मैं उस पर हिट नहीं करूंगा।
क्या चल रहा है यह है कि स्थिर विश्लेषण उपकरण अनिवार्य रूप से एक गूंगा उपकरण है। और मेरा मतलब यह नहीं है कि इसका उपयोग न करें, मेरा मतलब है गूंगा क्योंकि इसमें बहुत सीमित मानदंड दिख रहे हैं।
इस मामले में यह एक वस्तु को तुरंत चालू किया जाता है जिसका वर्ग IDISposable लागू करता है। टूल तब देख रहा है कि ऑब्जेक्ट गुंजाइश से बाहर होने से पहले आप एक संबंधित निपटान कॉल करते हैं या नहीं। यह स्पष्ट रूप से ऑब्जेक्ट कहकर बनाया जा सकता है।(); या उपयोग के माध्यम से (var x = ...) {} खंड।
MS specs के अनुसार, कक्षाओं को अप्रबंधित संसाधनों (जैसे फ़ाइल हैंडल) से निपटने की स्थिति में IDISposable लागू करना चाहिए। अब, आप इस MSDN post की समीक्षा करना चाहेंगे जो इस बात के बारे में बात करता है कि कौन से वर्ग IDISposable को लागू करते हैं, जो कि में को निपटान() चालू करने के लिए नहीं है।
जो हमें दो व्यवहार्य समाधानों के साथ छोड़ देता है। पहला (और एक जो मैं और डारिन अनुशंसा करता हूं) हमेशा उस ऑब्जेक्ट को लपेटना है जो एक उपयोग खंड में आईडीस्पोज़ेबल लागू करता है। यह सिर्फ अच्छा अभ्यास है। आखिरकार, यह शून्य नुकसान होने का कारण बनता है, जबकि यह बहुत मेमोरी लीक (कक्षा के आधार पर) नहीं हो सकता है और मैं याद रखने के लिए not smart enough हूं।
अन्य चेतावनियों को अनदेखा करने के लिए आपके स्थिर विश्लेषण उपकरण (यदि संभव हो) को कॉन्फ़िगर करना होगा। मुझे सच में लगता है कि यह एक बुरा विचार होगा (टीएम)
स्थिर विश्लेषण उपकरण क्या है? क्या आप अधिक विशिष्ट – AlwaysAProgrammer