我需要处理大量的大型图像。
如果图像延迟加载(Lazy class
)并在处理时被破坏,那就太好了。
然而Lazy<>
类中缺少的是重置事件,它处理初始化对象并允许再次加载对象(以节省内存)。
如果惰性方法有Clone()
或Reset()
方法,那就太好了。
是否有任何结构可以做到(或者我必须自己写)?
答案 0 :(得分:0)
你可以很容易地处理一个懒惰的价值。
if (lazy.IsValueCreated)
lazy.Value.Dispose();
假设Lazy<T>
T
为IDisposable
。
我不确定您为什么要再次创建图像,因为您将获得相同的图像。如果您想要一个不同的图像,请使用不同的工厂代理创建一个新的Lazy<T>
。