Sharpify 3.0.1

dotnet add package Sharpify --version 3.0.1
                    
NuGet\Install-Package Sharpify -Version 3.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sharpify" Version="3.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sharpify" Version="3.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Sharpify" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sharpify --version 3.0.1
                    
#r "nuget: Sharpify, 3.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sharpify@3.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sharpify&version=3.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Sharpify&version=3.0.1
                    
Install as a Cake Tool

Sharpify

NuGet NuGet Downloads License: MIT .NET

A collection of high performance language extensions for C#, fully compatible with NativeAOT

  • ⚡ Fully Native AOT compatible
  • 🤷 Either<T0, T1> - Discriminated union object that forces handling of both cases
  • 🦾 Flexible Result type that can encapsulate any other type and adds a massage options and a success or failure status. Flexible as it doesn't require any special handling to use (unlike Either)
  • Routine and AsyncRoutine bring the user easily usable and configurable interval based background job execution.
  • SortedList<T> bridges the performance of List and order assurance of SortedSet
  • Synchronized<T> is a thread-safe object owner with an optional delegate that can be executed on update.
  • 💿 StringBuffer enables zero allocation, easy to use appending buffer for creation of strings in hot paths.
  • PooledArrayOwner{T} is struct based alternative to IMemoryOwner<T> with extensions built into the ArrayPool<T> class.
  • BufferWrapper{T} is a ref struct implementation of IBufferWriter{T} that wraps a Span<T>.
  • A 🚣🏻 boat load of extension functions for all common types, bridging ease of use and performance.
  • A bunch of utils in Utils class.
  • 🔐 AesProvider provides access to industry leading AES-128 encryption with virtually no setup
  • 🏋️ High performance optimized alternatives to core language extensions
  • 🫴 Focus on giving the user complete control by using flexible and common types, and resulting types that can be further used and just viewed.

⬇ Installation

dotnet add package Sharpify

Sharpify.CommandLineInterface

Sharpify.CommandLineInterface is a standalone package that adds a high performance, reflection free and AOT-ready framework for creating command line and embedded interfaces

It was moved to its own repo Sharpify.CommandLineInterface

Methodology

  • Backwards compatibility ❌
  • Stability at release ✅

As the name suggests - Sharpify intends to extend the core language features using high performance implementations. Sharpify or its extension packages are not guaranteed to be backwards compatible, and each release may contain breaking changes as they try to adapt to the latest language features. .NET has a very active community and many features will be added to the core language that will perform at some point better than what Sharpify currently offers, at which point these features will be removed from Sharpify to encourage users to use the core language features instead.

The decision to disregard backwards compatibility is based on the idea to only provide feature that add or improve current language features. This is to ensure that both the package remains relevant, and unbounded by old sub-par implementations, and to encourage users to adapt their code to new language features.

Even thought backwards compatibility is not guaranteed, Sharpify has very high coverage of unit tests, and should be completely stable upon release. All issues will be treated as Urgent.

If your packages / libraries use Sharpify, and you don't want to modify the code often, I recommend locking the dependency to a specific version which you test.

Contribution

This packages was made public so that the entire community could benefit from it. If you experience issues, want to suggest new features or improve existing ones, please use the issues section.

Contact

For bug reports, feature requests or offers of support/sponsorship contact dusrdev@gmail.com

This project is proudly made in Israel 🇮🇱 for the benefit of mankind.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Sharpify:

Package Downloads
Sharpify.Data

An extension of Sharpify, focused on Data

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.1 385 11/18/2025
2.5.0 1,083 11/13/2024
2.4.0 4,036 10/21/2024
2.4.0-alpha 263 10/8/2024
2.2.0 638 7/26/2024
2.1.0 168 7/18/2024
2.0.0 276 6/3/2024
1.8.1 211 5/30/2024
1.8.0 198 4/17/2024
1.7.3 293 1/29/2024
1.7.2 186 1/23/2024
1.7.1 409 1/20/2024
1.7.0 162 1/20/2024
1.6.0 213 1/15/2024
1.5.0 226 1/10/2024
1.4.2 195 1/8/2024
1.4.1 261 1/4/2024
1.4.0 228 1/4/2024
1.3.1 207 12/31/2023
1.3.0 207 12/31/2023
1.2.0 210 12/24/2023
1.1.0 208 12/7/2023
1.0.9 171 12/7/2023
1.0.8 212 11/22/2023
1.0.7 188 9/23/2023
1.0.6 227 8/21/2023
1.0.5 266 5/4/2023
1.0.4 320 4/23/2023
1.0.3 269 4/19/2023
1.0.2 274 4/19/2023
1.0.1 273 4/14/2023
1.0.0 280 4/14/2023