Skip to content

Provides various fundamental extensions and classes for .NET, simplifying tasks related to asynchronous programming, resource lifecycle management, thread synchronization, and more.

License

Notifications You must be signed in to change notification settings

IvanGit/NuExt.System

Repository files navigation

NuExt.System

NuExt.System provides various fundamental extensions and classes for .NET, simplifying tasks related to asynchronous programming, resource lifecycle management, thread synchronization, and more.

Features

  • Thread synchronization tools.
  • Lifecycle management of objects and resources.
  • Property change notifications implementation.
  • Simplified asynchronous resource disposal.
  • High-performance string manipulation utilities.

Commonly Used Types

  • System.AggregateDisposable: Simplifies the disposal of multiple disposables.
  • System.AggregateAsyncDisposable: The asynchronous disposal of multiple IAsyncDisposable instances.
  • System.AsyncDisposable: Facilitates async resource disposal.
  • System.AsyncEventHandler: Represents an asynchronous event handler.
  • System.AsyncLifetime: Manages the lifecycle of asynchronous operations.
  • System.Disposable: Base implementation of IDisposable.
  • System.Lifetime: Manages the lifecycle of objects and resources.
  • System.PropertyChangeNotifier: Implementation of INotifyPropertyChanged.
  • System.Diagnostics.ProcessMonitor: Real-time monitoring of CPU, memory and ThreadPool threads.
  • System.Threading.AsyncLock: Asynchronous lock for resource synchronization.
  • System.Threading.AsyncWaitHandle: Async wait handle with timeout and cancellation support.
  • System.Threading.ReentrantAsyncLock: Reentrant asynchronous lock.
  • System.Text.ValueStringBuilder: High-performance string builder (originally internal in .NET runtime, made public).

Installation

You can install NuExt.System via NuGet:

dotnet add package NuExt.System

Or through the Visual Studio package manager:

  1. Go to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution....
  2. Search for NuExt.System.
  3. Click "Install".

Usage Examples

For comprehensive examples of how to use the package, see samples in the following repositories:

Acknowledgements

Includes code derived from the .NET Runtime, licensed under the MIT License. The ValueStringBuilder class was originally internal and has been adapted to be public.

License

Licensed under the MIT License. See the LICENSE file for details.

About

Provides various fundamental extensions and classes for .NET, simplifying tasks related to asynchronous programming, resource lifecycle management, thread synchronization, and more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages