C# 如何使BitmapImage成为一次性的
我需要在C# 如何使BitmapImage成为一次性的,c#,.net-4.5,windows-store,C#,.net 4.5,Windows Store,我需要在using语句中使用位图图像,如何做到这一点 using (BitmapImage bitmap = new BitmapImage()) { ... 我猜这样做的方法是扩展IDisposable,但我以前从未这样做过 提前谢谢你不能这么做位图图像已密封,因此无法从中派生。此外,我不知道为什么要在.NET Framework类中实现IDisposable。您最多只能使用一个包装器类,它将包含BitmapImage,并实现IDisposable 例如: class Disposa
using
语句中使用位图图像
,如何做到这一点
using (BitmapImage bitmap = new BitmapImage())
{
...
我猜这样做的方法是扩展IDisposable
,但我以前从未这样做过
提前谢谢你不能这么做<代码>位图图像已密封,因此无法从中派生。此外,我不知道为什么要在.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
}
}
实现
IDisposable
的原因是,当您不再需要引用某个对象时,可以释放该对象中的非托管资源。您不需要包装BitmapImage
并实现IDisposable
,因为没有任何与BitmapImage
关联的非托管资源。如果它还没有IDisposable,那么为什么您认为它需要被释放?为什么你需要在using语句中使用它呢?好的,是的,你是对的,我只是在调整一些代码,以前从未使用过using
语句,现在我已经放弃了。