次のコード スニペットを検討し、using句または明示的な破棄がないことを見落としています。
public static Image GetImage(string imageName)
{
Image image = null;
Stream unmanagedMemoryStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(imageName);
image = Image.FromStream(unmanagedMemoryStream);
return image;
}
unmanagedMemoryStreamで Dispose() が呼び出されるのはいつですか? 包含メソッドが非静的になった場合、これはどのように変化しますか? この状況でアンマネージ メモリのリークが発生する可能性はありますか?