DisposableHelpers 1.1.11
See the version list below for details.
dotnet add package DisposableHelpers --version 1.1.11
NuGet\Install-Package DisposableHelpers -Version 1.1.11
<PackageReference Include="DisposableHelpers" Version="1.1.11" />
paket add DisposableHelpers --version 1.1.11
#r "nuget: DisposableHelpers, 1.1.11"
// Install DisposableHelpers as a Cake Addin #addin nuget:?package=DisposableHelpers&version=1.1.11 // Install DisposableHelpers as a Cake Tool #tool nuget:?package=DisposableHelpers&version=1.1.11
DisposableHelpers
Disposable helpers for IDisposable and IAsyncDisposable with source generators. Also capable of both anonymous disposable and anonymous async disposable.
NuGets
Name | Info |
---|---|
DisposableHelpers |
Installation
// Install release version
Install-Package DisposableHelpers
// Install pre-release version
Install-Package DisposableHelpers -pre
Supported frameworks
.NET Standard 2.0 and above - see https://github.com/dotnet/standard/blob/master/docs/versions.md for compatibility matrix
Usage
Disposable
using DisposableHelpers;
namespace YourNamespace
{
public class SampleDisposable : Disposable
{
private SampleUnmanagedResource resources;
protected override void Dispose(bool disposing)
{
if (disposing)
{
resources.Release();
}
base.Dispose(disposing);
}
}
}
Disposable Source Generator
using DisposableHelpers.Attributes;
namespace YourNamespace
{
[Disposable]
public partial class SampleDisposable
{
private SampleUnmanagedResource resources;
protected void Dispose(bool disposing)
{
if (disposing)
{
resources.Release();
}
base.Dispose(disposing);
}
}
}
Anonymous Disposable
using DisposableHelpers;
namespace YourNamespace
{
public static class Program
{
private static SampleUnmanagedResource resources;
public static void Main(string[] args)
{
Disposable disposable = new Disposable(disposing =>
{
if (disposing)
{
resources.Release();
}
});
disposable.Dispose();
}
}
}
AsyncDisposable
using DisposableHelpers;
namespace YourNamespace
{
public class SampleAsyncDisposable : AsyncDisposable
{
private SampleAsyncUnmanagedResource resources;
protected override async ValueTask Dispose(bool isDisposing)
{
if (isDisposing)
{
await resources.Release();
}
return base.Dispose(isDisposing);
}
}
}
AsyncDisposable Source Generator
using DisposableHelpers.Attributes;
namespace YourNamespace
{
[AsyncDisposable]
public partial class SampleAsyncDisposable
{
private SampleAsyncUnmanagedResource resources;
protected async ValueTask Dispose(bool isDisposing)
{
if (isDisposing)
{
await resources.Release();
}
return base.Dispose(isDisposing);
}
}
}
Anonymous AsyncDisposable
using DisposableHelpers;
namespace YourNamespace
{
public static class Program
{
private static SampleAsyncUnmanagedResource resources;
public static async void Main(string[] args)
{
AsyncDisposable disposable = new AsyncDisposable(async disposing =>
{
if (disposing)
{
await resources.Release();
}
});
await disposable.DisposeAsync();
}
}
}
Want To Support This Project?
All I have ever asked is to be active by submitting bugs, features, and sending those pull requests down!.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 6.0.0)
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on DisposableHelpers:
Package | Downloads |
---|---|
SingletonSessionHelpers
Provides a base API for singleton session design pattern. |
|
LockerHelpers
Provides helpers for execution locking mechanism. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.101 | 72 | 3/25/2025 |
1.2.99 | 140 | 3/24/2025 |
1.2.98 | 152 | 3/17/2025 |
1.2.97 | 165 | 3/12/2025 |
1.2.93 | 488 | 2/20/2025 |
1.2.92 | 156 | 2/20/2025 |
1.2.90 | 414 | 1/27/2025 |
1.2.89 | 222 | 1/20/2025 |
1.2.88 | 188 | 1/16/2025 |
1.2.86 | 358 | 1/10/2025 |
1.2.84 | 177 | 1/8/2025 |
1.2.83 | 309 | 12/31/2024 |
1.2.82 | 206 | 12/27/2024 |
1.2.81 | 194 | 12/26/2024 |
1.2.80 | 253 | 12/18/2024 |
1.2.79 | 219 | 12/17/2024 |
1.2.78 | 274 | 12/6/2024 |
1.2.77 | 291 | 12/5/2024 |
1.2.76 | 211 | 12/5/2024 |
1.2.75 | 179 | 12/3/2024 |
1.2.74 | 120 | 12/3/2024 |
1.2.73 | 199 | 12/3/2024 |
1.2.71 | 123 | 12/3/2024 |
1.2.70 | 237 | 11/25/2024 |
1.2.69 | 108 | 11/25/2024 |
1.2.68 | 109 | 11/22/2024 |
1.2.67 | 135 | 11/22/2024 |
1.2.64 | 309 | 11/20/2024 |
1.2.63 | 59 | 11/19/2024 |
1.2.62 | 232 | 11/14/2024 |
1.2.60 | 175 | 11/13/2024 |
1.2.59 | 207 | 11/12/2024 |
1.2.58 | 193 | 11/8/2024 |
1.2.57 | 56 | 11/8/2024 |
1.2.56 | 51 | 11/8/2024 |
1.2.55 | 52 | 11/8/2024 |
1.2.54 | 58 | 11/7/2024 |
1.2.53 | 186 | 11/6/2024 |
1.2.52 | 50 | 11/6/2024 |
1.2.51 | 179 | 11/5/2024 |
1.2.50 | 293 | 10/30/2024 |
1.2.49 | 153 | 10/30/2024 |
1.2.48 | 180 | 10/29/2024 |
1.2.47 | 262 | 10/28/2024 |
1.2.46 | 69 | 10/25/2024 |
1.2.45 | 334 | 10/23/2024 |
1.2.44 | 242 | 10/22/2024 |
1.2.43 | 327 | 10/17/2024 |
1.2.42 | 337 | 10/14/2024 |
1.2.41 | 275 | 10/11/2024 |
1.2.40 | 509 | 10/7/2024 |
1.2.39 | 283 | 10/4/2024 |
1.2.38 | 263 | 10/2/2024 |
1.2.37 | 266 | 9/27/2024 |
1.2.36 | 56 | 9/27/2024 |
1.2.35 | 69 | 9/27/2024 |
1.2.34 | 362 | 9/25/2024 |
1.2.33 | 153 | 9/25/2024 |
1.2.32 | 254 | 9/23/2024 |
1.2.31 | 61 | 9/23/2024 |
1.2.30 | 253 | 9/20/2024 |
1.2.29 | 131 | 9/20/2024 |
1.2.28 | 285 | 9/18/2024 |
1.2.27 | 166 | 9/16/2024 |
1.2.26 | 294 | 9/10/2024 |
1.2.24 | 366 | 9/5/2024 |
1.2.23 | 377 | 8/29/2024 |
1.2.22 | 271 | 8/26/2024 |
1.2.21 | 237 | 8/22/2024 |
1.2.20 | 64 | 8/22/2024 |
1.2.19 | 67 | 8/22/2024 |
1.2.18 | 174 | 8/20/2024 |
1.2.17 | 372 | 8/14/2024 |
1.2.16 | 159 | 8/13/2024 |
1.2.15 | 397 | 7/31/2024 |
1.2.14 | 79 | 7/31/2024 |
1.2.13 | 140 | 7/26/2024 |
1.2.12 | 488 | 7/16/2024 |
1.2.11 | 112 | 7/15/2024 |
1.2.10 | 102 | 7/13/2024 |
1.2.9 | 120 | 7/12/2024 |
1.2.8 | 142 | 7/9/2024 |
1.2.7 | 128 | 7/8/2024 |
1.2.6 | 64 | 7/8/2024 |
1.2.5 | 64 | 7/8/2024 |
1.2.4 | 152 | 7/7/2024 |
1.2.3 | 216 | 7/1/2024 |
1.2.2 | 109 | 6/30/2024 |
1.2.1 | 122 | 6/28/2024 |
1.2.0 | 207 | 5/3/2024 |
1.1.16 | 1,383 | 10/3/2023 |
1.1.15 | 320 | 8/30/2023 |
1.1.14 | 256 | 8/28/2023 |
1.1.13 | 283 | 8/8/2023 |
1.1.12 | 278 | 7/11/2023 |
1.1.11 | 167 | 7/9/2023 |
1.1.10 | 244 | 6/20/2023 |
1.1.9 | 1,766 | 9/8/2022 |
1.1.8 | 407 | 9/4/2022 |
1.1.7 | 420 | 9/4/2022 |
1.1.6 | 2,705 | 7/20/2022 |
1.1.5 | 442 | 7/20/2022 |
1.1.4 | 472 | 7/17/2022 |
1.1.3 | 418 | 7/17/2022 |
1.1.2 | 481 | 7/17/2022 |
1.1.1 | 441 | 7/17/2022 |
1.1.0 | 486 | 7/17/2022 |
1.0.2 | 4,157 | 3/7/2022 |
1.0.1 | 3,318 | 2/21/2022 |
1.0.0 | 1,223 | 2/17/2022 |
* Initial release