私はこのコードを持っていますが、私はそれが "安全ではない"と心配しています 私はDispose()をusingステートメントの終わりの前に使いましたが、私にとってはそれはやや理にかなっています。だから、それは安全ですか?ステートメント終了を使用する前にDispose()を呼び出すとどうなりますか?
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();
}
}
オブジェクトを2回処分しようとします。 –
@JeroenvanLangen:それは間違っています。 hwdの答えを参照してください。 – siride
@siride - 'stream'は2回配置されます。 Jeroensのコメントの唯一の誤りは、単語 'try'です。 –