2012-05-14 13 views
10

मैं StreamReader और StreamWriter को बंद करने का प्रबंधन कैसे कर सकता हूं जो समान अंतर्निहित धारा का उपयोग कर रहे हैं?StreamReader और StreamWriter?

var stream = /*...*/; 
var reader = new StreamReader(stream); 
var writer = new StreamWRiter(stream); 

मुझे पता है कि मैं पाठक/लेखक को बंद करने और बस अंतर्निहित धारा को बंद करने की अनदेखी कर सकता हूं। हालांकि, यह एक हैक का थोड़ा सा लगता है, क्योंकि यह धारणा पर आधारित है कि पाठक/लेखक के पास निपटाने के लिए कुछ भी नहीं है (जो भविष्य में मामला नहीं हो सकता है)।

मुझे पता है कि इसे अतिरिक्त कन्स्ट्रक्टर तर्क के साथ .NET 4.5 में हल किया गया है, लेकिन जब तक .NET 4.5 जारी नहीं किया जाता है, तो मैं इसे उचित तरीके से कैसे हल करूं?

उत्तर

5

सुनिश्चित करें कि आप पहले Flush() लेखक हैं।

और फिर बस 2 सजावट और धारा को निस्तारण या बंद करें (नेस्टेड उपयोग ठीक है)।

संबंधित मुद्दे