/CSharpNothing

A unit/nothing type for C#

Primary LanguageC#The UnlicenseUnlicense

Nothing

Nuget

Nothing is a type representing the absence of data, similarly to Unit in F#. Use it as a return value from methods where you would traditionally return void.

⚠️ Development is paused ⚠️
No new features will be added or bugs fixed unless requested through an issue.
If you wish to fork this repository and continue the work, you are very welcome to do so.

Usage

Nothing exposes a single static readonly instance called Nothing.atAll. This instance is equal to itself using both == and Equals.

The package also includes a few useful extension methods which are listed below.

  • Convert a Task to a Task<Nothing> using the ToNothingTask method
  • Convert a Action to a Func<Nothing> using the ToNothingFunc method. Works with up to 3 parameters
  • Convert anything to Nothing with the Discard method