我需要在BitmapImage
声明中使用using
,怎么可以这样做?
using (BitmapImage bitmap = new BitmapImage())
{
...
我猜这样做的方法是延长IDisposable
,但我以前从未这样做过。
提前致谢
答案 0 :(得分:2)
实现IDisposable
的原因是当您不再需要引用该对象时,释放对象中的非托管资源。您不需要包装BitmapImage
并实施IDisposable
,因为没有与BitmapImage
相关联的任何非托管资源。
答案 1 :(得分:1)
你不能这样做。 BitmapImage
已被封存,因此您无法从中获取。此外,我不知道为什么要在.NET Framework类中实现IDisposable
。你能做的最多的是一个包装类,它包含你的BitmapImage
,并实现IDisposable
。
示例:
class DisposableBitmapImageWrapper : IDisposable
{
public BitmapImage Bitmap { get; private set; }
public DisposableBitmapImageWrapper(BitmapImage bitmap)
{
Bitmap = bitmap;
}
public void Dispose()
{
//Do something with the BitmapImage
}
}