A versatile and robust utility library designed to simplify common programming tasks, enhance error handling, and promote functional programming paradigms in C#. It provides a collection of tools and extensions that streamline operations such as null checks, error handling, task management, and railway-oriented programming (ROP) sometimes known as "Result Pattern".
$ dotnet add package ZeidLab.ToolBoxZeidLab.ToolBox Library?ZeidLab.ToolBox is a versatile and robust utility library designed to simplify common programming tasks, enhance error handling, and promote functional programming paradigms in C#. It provides a collection of tools and extensions that streamline operations such as null checks, error handling, task management, and railway-oriented programming (ROP) sometimes known as "Result Pattern".
Inspired by LanguageExt, this library offers a more compact and user-friendly alternative with extensive examples and tutorials.
To use ZeidLab.ToolBox in your project, you can install it via NuGet:
dotnet add package ZeidLab.ToolBox
for more information please visit ToolBox Package On NuGet.
By each release we add new features and bug fixes. You can find the full change log here.
There is a very detailed Wiki for this library full of descriptions and examples. also there is a YouTube channel with a dedicated video tutorials playlist for this library.
The main topics of this library are:
| Types and PageLink | Short Description |
|---|---|
Maybe<TIn> | A monadic type for handling optional values, similar to Option in functional languages. |
Result<TIn> | A robust error-handling type for railway-oriented programming, allowing chaining of operations with explicit success and failure states. |
Unit | A type representing the absence of a meaningful value, useful in functional programming. |
ResultError | Structured error handling with supporting error codes, messages, and exceptions. |
Try<TIn> | A delegate to handel the unhandled exceptions in an efficient and expressive way in a synchronous flow of functions. |
TryAsync<TIn> | A delegate to handel the unhandled exceptions in an efficient and expressive way in a synchronous flow of functions. |
| Extension Methods | Methods to interact with Result<TIn> types |
Star this repository and follow me on GitHub to stay informed about new releases and updates. Your support fuels this project's growth!
If my content adds value to your projects, consider supporting me via crypto.
Thank you for being part of this community—let’s build smarter, together
Please feel free to submit issues, feature requests, or pull requests.
This project is licensed under the MIT License. See the LICENSE file for details.