AgileCoding.Extentions.Generic 2.0.5

dotnet add package AgileCoding.Extentions.Generic --version 2.0.5
NuGet\Install-Package AgileCoding.Extentions.Generic -Version 2.0.5
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="AgileCoding.Extentions.Generic" Version="2.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AgileCoding.Extentions.Generic --version 2.0.5
#r "nuget: AgileCoding.Extentions.Generic, 2.0.5"
#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.
// Install AgileCoding.Extentions.Generic as a Cake Addin
#addin nuget:?package=AgileCoding.Extentions.Generic&version=2.0.5

// Install AgileCoding.Extentions.Generic as a Cake Tool
#tool nuget:?package=AgileCoding.Extentions.Generic&version=2.0.5



AgileCoding.Extensions.Generic is a .NET library that provides enhanced functionality for handling generic objects in your .NET applications. This package offers a collection of extension methods that facilitate better management and manipulation of generic types.


This library is available as a NuGet package. You can install it using the NuGet package manager console:

bashCopy code

Install-Package AgileCoding.Extensions.Generic -Version 2.0.5


The library introduces the following extension methods for generic types:

  1. ThrowIfNull: Throws an exception if the object is null.
  2. ThrowIfNullOrEmpty: Throws an exception if the array or list is null or empty.
  3. SplitYield and Split: Splits a list into blocks of a given size.
  4. ThrowIfTrue: Throws an exception if the boolean is true.
  5. InitIfNull: Initializes a null object.


Here's a brief example of how to use these features in your code:


using AgileCoding.Extentions.Generics;
using System;
using System.Collections.Generic;

    // Your code here...
    List<int> list = new List<int>();
    list.ThrowIfNullOrEmpty<int, Exception>("List is empty or null");
    var blocks = list.Split<int>(5);
catch (Exception ex)
    // Handle or log the exception...


For more detailed information about the usage of this library, please refer to the official documentation.


This project is licensed under the terms of the MIT license. For more information, see the LICENSE file.


Contributions are welcome! Please see our contributing guidelines for more details.

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

NuGet packages (3)

Showing the top 3 NuGet packages that depend on AgileCoding.Extentions.Generic:

Package Downloads

Extenions related to the Prototype Pattern that enables diffrent types of deep Object copying


Extentions to enhance serialization behavior


Factories that create service proxies

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.5 193 7/31/2023 381 6/28/2021 341 6/1/2021

Cleaning up un-needed references