如何使BitmapImage一次性使用

时间:2012-12-18 20:22:14

标签: c# .net-4.5 windows-store

我需要在BitmapImage声明中使用using,怎么可以这样做?

using (BitmapImage bitmap = new BitmapImage())
{
    ...

我猜这样做的方法是延长IDisposable,但我以前从未这样做过。

提前致谢

2 个答案:

答案 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
    }
}