Essentions NuGet Package

Essentions is a personal utility library, so while fairly generic, it is still tailored for specific tasks.

You probably would be better off if you built your own helper lib.

# What is inside?

## Collections

* Standard generic list with events before and after all modifications with ability to cancel and separate handling of batch additions/removals.
* Two simple pools:
* typical "take instance out of the pool, put it back after you done";
* less standard "owning" pool, which tracks provided instances and returns them back to pool when they become unused, as defined by user callback.
* Dictionary with weak-referenced values.

Null values are supported.


## Extensions

* Check whether a type contains another type in its inheritance chain, be it interface, abstract classe or generic with parameters.
* Reverse and chain comparers.
* Invoke latests delegate targets.
* Manipulate collection values inside a dictionary more easily.
* Get value from a dictionary in a convenient way.
* Create default instance of the given type.
* Clamp numbers, do float equality checks with epsilon, normalize and remap values,
find proper modulo (not to be confused with `%` operator), lots of stuff.
* Check sequences for equivalence.
* Randomly chose one of the elements based on their probabilities.
* …


## Utility classes

* Simple fluent argument checking.
* Base disposable class, helps with the standard .NET disposal pattern. Does not implement a finalizer by default.
* Ranges, with intersection and union operations.
* Reference counter.
* Xorshift rng taken from Redzen code library (https://github.com/colgreen/Redzen/).
* Few interpolation functions.
* Null checker without boxing for generic variables.




Got any Essentions Question?





Info

Version: 1.2.0
Author(s): EnoughTea
Last Update: Thursday, January 19, 2017
.NET Fiddle: Create the first Fiddle
Project Url: https://github.com/enoughtea/essentions
NuGet Url: https://www.nuget.org/packages/Essentions


Install
Install-Package Essentions
dotnet add package Essentions
paket add Essentions
Essentions Download (Unzip the "nupkg" after downloading)



Tags



STATS

must-have-score

.5

avg-downloads-per-day

0

days-since-last-release

2864