Explosuress 1.0.0

Transforms Expression Trees to become closure-free.

Install-Package Explosuress -Version 1.0.0
dotnet add package Explosuress --version 1.0.0
<PackageReference Include="Explosuress" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Explosuress --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Explosuress, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Explosuress as a Cake Addin
#addin nuget:?package=Explosuress&version=1.0.0

// Install Explosuress as a Cake Tool
#tool nuget:?package=Explosuress&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Explosuress

NuGet Status

Closure-free C# Expressions.

Explosuress processes an Expression Tree and removes all closures by evaluating and replacing them with corresponding values. This operation reduces size and memory footprint of the tree.

Installation

  1. Install the NuGet package:
Install-Package Explosuress

or

dotnet add package Explosuress
  1. Add using statement:
using System.Linq.Expressions;
  1. Call the Explosuress() extension method to process an expression:
var closureFreeExpr = expression.Explosuress();

Example

Consider the Expression Tree shown below:

var local = new Local
{
    Field = 123
};

Expression<Func<int, bool>> expression =
    x => local.Field == x;
    
Console.WriteLine(expression);

The tree structure contains a closure to local.Field:

x => (value(Explosuress.Demo.Program+<>c__DisplayClass0_0).local.Field == x)

Explosuress can remove the closure:

var closureFreeExpr = expression.Explosuress();

Console.WriteLine(closureFreeExpr);

This is how the closure-free structure will look like:

x => (123 == x)

License

MIT

Explosuress

NuGet Status

Closure-free C# Expressions.

Explosuress processes an Expression Tree and removes all closures by evaluating and replacing them with corresponding values. This operation reduces size and memory footprint of the tree.

Installation

  1. Install the NuGet package:
Install-Package Explosuress

or

dotnet add package Explosuress
  1. Add using statement:
using System.Linq.Expressions;
  1. Call the Explosuress() extension method to process an expression:
var closureFreeExpr = expression.Explosuress();

Example

Consider the Expression Tree shown below:

var local = new Local
{
    Field = 123
};

Expression<Func<int, bool>> expression =
    x => local.Field == x;
    
Console.WriteLine(expression);

The tree structure contains a closure to local.Field:

x => (value(Explosuress.Demo.Program+<>c__DisplayClass0_0).local.Field == x)

Explosuress can remove the closure:

var closureFreeExpr = expression.Explosuress();

Console.WriteLine(closureFreeExpr);

This is how the closure-free structure will look like:

x => (123 == x)

License

MIT

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0 179 5/11/2020