-1

ステートメントBitmapImageで aを使用する必要があります。これはどのように行うことができますか?using

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

それを行う方法は拡張することだと推測していますが、これまでIDisposableに行ったことはありません。

前もって感謝します

4

2 に答える 2

2

実装する理由IDisposableは、オブジェクトを参照する必要がなくなったときに、オブジェクト内のアンマネージ リソースを解放するためです。に関連付けられた管理されていないリソースがないため、 をラップしBitmapImageて実装する必要はありません。IDisposableBitmapImage

于 2012-12-18T20:27:58.693 に答える
1

あなたはそれをすることはできません。BitmapImage封印されているので、そこから派生することはできません。IDisposableさらに、 .NET Framework クラスに実装する理由がわかりません。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
    }
}
于 2012-12-18T20:26:23.150 に答える