DisposableHelpers 1.1.16
See the version list below for details.
dotnet add package DisposableHelpers --version 1.1.16
NuGet\Install-Package DisposableHelpers -Version 1.1.16
<PackageReference Include="DisposableHelpers" Version="1.1.16" />
paket add DisposableHelpers --version 1.1.16
#r "nuget: DisposableHelpers, 1.1.16"
// Install DisposableHelpers as a Cake Addin #addin nuget:?package=DisposableHelpers&version=1.1.16 // Install DisposableHelpers as a Cake Tool #tool nuget:?package=DisposableHelpers&version=1.1.16
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. |
.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 (>= 7.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 |
---|---|
LockerHelpers
Provides helpers for execution locking mechanism. |
|
SingletonSessionHelpers
Provides a base API for singleton session design pattern. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.64 | 100 | 11/20/2024 |
1.2.63 | 33 | 11/19/2024 |
1.2.62 | 209 | 11/14/2024 |
1.2.60 | 148 | 11/13/2024 |
1.2.59 | 174 | 11/12/2024 |
1.2.58 | 171 | 11/8/2024 |
1.2.57 | 25 | 11/8/2024 |
1.2.56 | 25 | 11/8/2024 |
1.2.55 | 27 | 11/8/2024 |
1.2.54 | 35 | 11/7/2024 |
1.2.53 | 162 | 11/6/2024 |
1.2.52 | 27 | 11/6/2024 |
1.2.51 | 157 | 11/5/2024 |
1.2.50 | 273 | 10/30/2024 |
1.2.49 | 127 | 10/30/2024 |
1.2.48 | 158 | 10/29/2024 |
1.2.47 | 241 | 10/28/2024 |
1.2.46 | 49 | 10/25/2024 |
1.2.45 | 313 | 10/23/2024 |
1.2.44 | 224 | 10/22/2024 |
1.2.43 | 311 | 10/17/2024 |
1.2.42 | 316 | 10/14/2024 |
1.2.41 | 261 | 10/11/2024 |
1.2.40 | 494 | 10/7/2024 |
1.2.39 | 268 | 10/4/2024 |
1.2.38 | 248 | 10/2/2024 |
1.2.37 | 253 | 9/27/2024 |
1.2.36 | 39 | 9/27/2024 |
1.2.35 | 49 | 9/27/2024 |
1.2.34 | 345 | 9/25/2024 |
1.2.33 | 137 | 9/25/2024 |
1.2.32 | 240 | 9/23/2024 |
1.2.31 | 43 | 9/23/2024 |
1.2.30 | 235 | 9/20/2024 |
1.2.29 | 115 | 9/20/2024 |
1.2.28 | 268 | 9/18/2024 |
1.2.27 | 149 | 9/16/2024 |
1.2.26 | 278 | 9/10/2024 |
1.2.24 | 348 | 9/5/2024 |
1.2.23 | 360 | 8/29/2024 |
1.2.22 | 256 | 8/26/2024 |
1.2.21 | 222 | 8/22/2024 |
1.2.20 | 51 | 8/22/2024 |
1.2.19 | 48 | 8/22/2024 |
1.2.18 | 159 | 8/20/2024 |
1.2.17 | 357 | 8/14/2024 |
1.2.16 | 137 | 8/13/2024 |
1.2.15 | 382 | 7/31/2024 |
1.2.14 | 65 | 7/31/2024 |
1.2.13 | 119 | 7/26/2024 |
1.2.12 | 472 | 7/16/2024 |
1.2.11 | 96 | 7/15/2024 |
1.2.10 | 86 | 7/13/2024 |
1.2.9 | 102 | 7/12/2024 |
1.2.8 | 125 | 7/9/2024 |
1.2.7 | 103 | 7/8/2024 |
1.2.6 | 46 | 7/8/2024 |
1.2.5 | 48 | 7/8/2024 |
1.2.4 | 136 | 7/7/2024 |
1.2.3 | 200 | 7/1/2024 |
1.2.2 | 94 | 6/30/2024 |
1.2.1 | 107 | 6/28/2024 |
1.2.0 | 198 | 5/3/2024 |
1.1.16 | 1,375 | 10/3/2023 |
1.1.15 | 313 | 8/30/2023 |
1.1.14 | 248 | 8/28/2023 |
1.1.13 | 275 | 8/8/2023 |
1.1.12 | 270 | 7/11/2023 |
1.1.11 | 160 | 7/9/2023 |
1.1.10 | 236 | 6/20/2023 |
1.1.9 | 1,748 | 9/8/2022 |
1.1.8 | 388 | 9/4/2022 |
1.1.7 | 401 | 9/4/2022 |
1.1.6 | 2,686 | 7/20/2022 |
1.1.5 | 421 | 7/20/2022 |
1.1.4 | 454 | 7/17/2022 |
1.1.3 | 399 | 7/17/2022 |
1.1.2 | 463 | 7/17/2022 |
1.1.1 | 423 | 7/17/2022 |
1.1.0 | 467 | 7/17/2022 |
1.0.2 | 3,869 | 3/7/2022 |
1.0.1 | 3,284 | 2/21/2022 |
1.0.0 | 1,198 | 2/17/2022 |
* Updated dependencies