Nextended

NuGet License

Welcome to Nextended - a comprehensive suite of .NET libraries providing powerful extension methods, custom types, utilities, and code generation tools to enhance your .NET development experience.

Overview

Nextended is a collection of libraries designed to simplify and accelerate .NET development across various platforms and frameworks. Originally known as β€œnExt”, the library was updated and renamed to Nextended with full support for modern .NET versions.

πŸ“¦ Package Ecosystem

The Nextended suite consists of multiple specialized packages, each serving a specific purpose:

Core Libraries

UI Libraries

Specialized Libraries

πŸš€ Quick Start

Installation

Install the core package via NuGet:

dotnet add package Nextended.Core

Or install specific packages based on your needs:

dotnet add package Nextended.Blazor
dotnet add package Nextended.EF
dotnet add package Nextended.CodeGen

Basic Usage

using Nextended.Core.Extensions;
using Nextended.Core.Types;

// Use powerful extension methods
var user = new User { FirstName = "John", LastName = "Doe" };
var userDto = user.MapTo<UserDto>();

// Work with custom types
var price = new Money(99.99m, Currency.USD);
var today = Date.Today;

πŸ“š Documentation

Getting Started

Projects

Examples

API Reference

🎯 Key Features

Extension Methods

Nextended.Core provides extensive extension methods for:

  • String manipulation
  • DateTime operations
  • Collection operations (LINQ enhancements)
  • Type reflection and conversion
  • Object mapping and cloning
  • Task and async utilities
  • And many more…

Custom Types

Powerful custom types that solve common problems:

  • Money - Precise decimal type for financial calculations
  • Date - Date-only type without time components
  • BaseId - Generic strongly-typed ID wrapper
  • SuperType - Advanced entity type with subtype relationships
  • Range - Generic range type for intervals

Class Mapping

Fast and flexible object mapping without external dependencies:

// Simple mapping
var dto = sourceObject.MapTo<TargetDto>();

// Advanced mapping with settings
var settings = ClassMappingSettings.Default
    .IgnoreProperties<Source>(s => s.InternalField)
    .AddConverter<string, DateTime>(DateTime.Parse);
var result = source.MapTo<Target>(settings);

See the Class Mapping Reference for complete documentation, examples, and usage scenarios.

Code Generation

Generate code at compile-time from various sources:

  • Auto-generate DTOs from your domain models
  • Create strongly-typed classes from JSON/XML configuration files
  • Generate data classes from Excel spreadsheets
  • Full compile-time validation and IntelliSense support

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“¬ Support

For issues, questions, or feature requests, please use the GitHub Issues page.