メソッドを使用して埋め込みアセンブリ リソースにアクセスするときは、終了後Assembly.GetManifestResourceStream
に返されたものを閉じるのが良い方法だと考えていStream
ました。ただ、次の記事で気になったことがあります。
http://msdn.microsoft.com/en-us/library/ms950960.aspx
// Get the stream that holds the resource
// NOTE1: Make sure not to close this stream!
// NOTE2: Also be very careful to match the case
// on the resource name itself
Stream stream =
assem.GetManifestResourceStream("Azul.jpg");
// Load the bitmap from the stream
this.BackgroundImage = new Bitmap(stream);
ここのコメントでは、ストリームを閉じてはいけないと述べていますが、記事ではその理由について言及していません。Google で検索しても決定的な結果は得られませんでした。このストリームを閉じているように見える人もいれば、そうではなく、ガベージコレクタが処理すると言う人もいます。
から返されたストリームを閉じる必要がありますAssembly.GetManifestResourceStream
か? してはいけない特別な理由はありますか?