PowDisp 0.2.1

dotnet add package PowDisp --version 0.2.1
NuGet\Install-Package PowDisp -Version 0.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PowDisp" Version="0.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PowDisp --version 0.2.1
#r "nuget: PowDisp, 0.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PowDisp as a Cake Addin
#addin nuget:?package=PowDisp&version=0.2.1

// Install PowDisp as a Cake Tool
#tool nuget:?package=PowDisp&version=0.2.1

PowDisp

Usage

// Create a Disp
var d = new Disp("Name");

// Use extension method to add IDisposable objects to it
var myObject = new MyDisposableObject().D(d);

Check that all Disps were disposed

// Call this at the end of your program (or test)
DispDiag.CheckForUndisposedDisps();

Config

// If you want Disps to dispose of their IDisposables in reverse order set:
DispDiag.DisposeInReverseOrder = true;

Unit Tests

[SetUp] void Setup() {
	Reseter.ResetDispsForTests();
}
[TearDown] void Teardown() {
	DispDiag.CheckForUndisposedDisps();
}

Logging

// Will print every Disp created and disposed to the console
DispDiag.DispMakerLoggingEnabled = true;

// Returns stats about the number of created and disposed Disps
var stats = DispDiag.GetStats();
Console.WriteLine($"Disps created : {stats.Created}");
Console.WriteLine($"Disps disposed: {stats.Disposed}");
Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on PowDisp:

Package Downloads
ReactiveVars

Collection of general utility functions

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.1 68 6/30/2024
0.2.0 67 6/30/2024
0.1.6 124 2/12/2024
0.1.5 101 1/31/2024
0.1.4 78 1/31/2024
0.1.3 88 1/31/2024