我得到了一些包含在Windows资源上的位图。问题是,每次我访问Resources属性时,ResourceManager.GetObject()
将始终创建位图的新实例,当然,最后我遇到了一些内存问题。
// Auto-generated code
class Resources {
internal static System.Drawing.Bitmap IconMan16 {
get {
object obj = ResourceManager.GetObject("IconMan16 ", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
好像这个类资源在我的应用程序中使用了太多次,我无法改变我调用它的方式。
有没有办法(不编辑自动生成的文件)阻止资源每次我要求属性时都创建一个新实例?类似于:
// Auto-generated code
class Resources {
private static System.Drawing.Bitmap iconMan16Cache ;
internal static System.Drawing.Bitmap IconMan16 {
get {
return iconMan16Cache ? (iconMan16Cache = ((System.Drawing.Bitmap)(ResourceManager.GetObject("IconMan16 ", resourceCulture)))); // Thread-safety is not the question
}
}
}