मेरे पास यह कोड है, मुझे चिंता है कि यह "सुरक्षित नहीं है" मैंने उपयोग कथन अंत से पहले निपटान() का उपयोग किया, मेरे लिए यह थोड़ा अजीब है, लेकिन यह ठीक काम करता है। तो, क्या यह सुरक्षित है?क्या होता है यदि मैंने कथन का उपयोग करने से पहले निपटान() कहा था?
using (FileStream stream = new FileStream(SfilePath, FileMode.Open))
{
try
{
XmlSerializer deserializer = new XmlSerializer(typeof(HighscoresViewModel));
HVM = deserializer.Deserialize(stream) as HighscoresViewModel;
}
catch (InvalidOperationException)
{
stream.Dispose();
(new FileInfo(SfilePath)).Delete();
HVM = new HighscoresViewModel();
}
}
यह ऑब्जेक्ट को दो बार –
@JeroenvanLangen का निपटान करने का प्रयास करेगा: यह गलत है। एचडब्ल्यूडी का जवाब देखें। – siride
@ साइराइड - 'स्ट्रीम' _will_ दो बार निपटाया जाएगा। जेरोन्स टिप्पणी में एकमात्र त्रुटि शब्द 'कोशिश' है। –