
BusterWood.Goodies
So much useful & free stuff for .NET, built as a library for .NET Standard 2.0.
Selected highlights
-
BusterWood.Batching namespace contains classes for batching together asynchronous method calls for efficiency.
-
BusterWood.Caching namespace contains time and space effecient
Cache<,>
and ReadThroughCache<,>
.
-
BusterWood.Channels namespace contains CSP-like communication between (logical) asynchronous threads, including buffered and multicast channels.
-
BusterWood.Collections namespace contains the time and space effecient
UniqueList<>
which implements both IList<>
and ISet<>
. Additionally HashLookup<,>
and CircularQueue<>
classes are provided.
-
BusterWood.Ducks namespace contains run-time duck typing.
-
BusterWood.Equality namespace contains run-time creation of equality comparers using property names.
-
BusterWood.Goodies namespace contains structs to ensure you don't mix up your customer and order identifiers, and extension methods for arrays, enums, TimeSpans and strings.
-
BusterWood.Linq namespace contains 20% faster LINQ via batching, additional LINQ methods and asynchronous enumerables.
-
BusterWood.Logging
namespace contains Log
static class for structured logging to Console.Error
(StdErr).
-
BusterWood.Mapping namespace contains extension methods for copying objects with rules for name and type conversion.
-
BusterWood.Monies namespace contains
Money
struct to ensure that you don't add accidentally add GBP and USD together.
-
BusterWood.Reflect.Emit
namespace contains extension methods for emiting IL via ILGenerator
.
-
BusterWood.Restarting
namespace contains RestartMonitoring
that monitor failures in asychrous processes and restarts them on failure (with delay).
-
BusterWood.Testing namespace contains a simple testing library inspired by Go's testing package