TryDisposable 9.0.0
dotnet add package TryDisposable --version 9.0.0
NuGet\Install-Package TryDisposable -Version 9.0.0
<PackageReference Include="TryDisposable" Version="9.0.0" />
paket add TryDisposable --version 9.0.0
#r "nuget: TryDisposable, 9.0.0"
// Install TryDisposable as a Cake Addin #addin nuget:?package=TryDisposable&version=9.0.0 // Install TryDisposable as a Cake Tool #tool nuget:?package=TryDisposable&version=9.0.0
TryDisposable
Wrap an object in a disposable decorator to attempt to dispose the object later. This is useful when retrieving an instance of an object from a factory or container while only having an interface reference. If the interface does not implement IDisposable, but the concrete class does, this will allow the instance to be disposed.
##Example 1
Use the simple TryDispose() method available on any object.
object obj = new object();
obj.TryDispose();
##Example 2
Wrap an object in a using statement. Use the instance property to access the object.
ITemporaryFolder tempFolder = TemporaryFolder.Factory.Create();
using (ITryDisposable<ITemporaryFolder> disposableTempFolder = TryDisposableFactory.Create(tempFolder))
{
string path = disposableTempFolder.Instance.Path;
// If tempFolder is disposable, it will get disposed, otherwise it will be ignored.
}
##Example 2
Use the following if the underlying object does not need to be accessed through the ITryDisposbale<TUnderlyingItem> interface.
using (ITryDisposable disposableTempFolder = TryDisposableFactory.Create(tempFolder))
{
// If tempFolder is disposable, it will get disposed, otherwise it will be ignored.
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
-
net9.0
- No dependencies.
NuGet packages (12)
Showing the top 5 NuGet packages that depend on TryDisposable:
Package | Downloads |
---|---|
Diamond.Core.Workflow.State
This library provides an implementation of the state dictionary and provides several default type converters. |
|
Diamond.Core.Workflow
This library provides workflow interfaces and abstract or default implementations for common patterns. |
|
Diamond.Core.AspNetCore.DoAction
Provides the Do pattern execution for ASP.NET Core MVC core projects. |
|
Diamond.Patterns.WorkFlow
This library provides work-flow interfaces and abstract or default implementations for common patterns. |
|
Diamond.Core.Decorator
This library provides a basic implementation of the decorator factory. |
GitHub repositories
This package is not used by any popular GitHub repositories.