DisposableOptions Class
Definition
Configuration options for IDisposable.
public class DisposableOptions : IParameterObject
- Inheritance
-
DisposableOptions
- Implements
- Derived
Examples
The following example demonstrates how to use
using System;
using Cuemon;
namespace Contoso.IO;
public sealed class DisposableOptionsExample
{
public static void Run()
{
var resource = new TrackedDisposable();
var options = new DisposableOptions
{
LeaveOpen = true
};
DisposeWhenAllowed(resource, options);
Console.WriteLine($"Disposed after leave-open: {resource.IsDisposed}");
options.LeaveOpen = false;
DisposeWhenAllowed(resource, options);
Console.WriteLine($"Disposed after close: {resource.IsDisposed}");
}
private static void DisposeWhenAllowed(TrackedDisposable resource, DisposableOptions options)
{
if (!options.LeaveOpen)
{
resource.Dispose();
}
}
private sealed class TrackedDisposable : IDisposable
{
public bool IsDisposed { get; private set; }
public void Dispose()
{
IsDisposed = true;
}
}
}
Constructors
| Name | Description |
|---|---|
| DisposableOptions() | Initializes a new instance of the DisposableOptions class. |
Properties
| Name | Description |
|---|---|
| LeaveOpen | Gets or sets a value indicating whether a disposable object should bypass the mechanism for releasing unmanaged resources. Default is |