Browse Source

Use dispose pattern

pull/1552/head
Brian Popow 5 years ago
parent
commit
7e85b1e27e
  1. 23
      src/ImageSharp/Formats/Webp/BitReader/BitReaderBase.cs

23
src/ImageSharp/Formats/Webp/BitReader/BitReaderBase.cs

@ -13,6 +13,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitReader
/// </summary> /// </summary>
internal abstract class BitReaderBase : IDisposable internal abstract class BitReaderBase : IDisposable
{ {
private bool isDisposed;
/// <summary> /// <summary>
/// Gets or sets the raw encoded image data. /// Gets or sets the raw encoded image data.
/// </summary> /// </summary>
@ -31,7 +33,26 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitReader
input.Read(dataSpan.Slice(0, bytesToRead), 0, bytesToRead); input.Read(dataSpan.Slice(0, bytesToRead), 0, bytesToRead);
} }
protected virtual void Dispose(bool disposing)
{
if (this.isDisposed)
{
return;
}
if (disposing)
{
this.Data?.Dispose();
}
this.isDisposed = true;
}
/// <inheritdoc/> /// <inheritdoc/>
public void Dispose() => this.Data?.Dispose(); public void Dispose()
{
this.Dispose(disposing: true);
GC.SuppressFinalize(this);
}
} }
} }

Loading…
Cancel
Save