Mono.linq.expressions

screenshot of Mono.linq.expressions

Complement for System.Linq.Expressions

Overview

Mono.Linq.Expressions is a helper library that complements the System.Linq.Expressions namespace. It is compatible with both Mono versions greater than or equal to 2.8 and .NET versions greater than or equal to 4.0. This library provides various functionalities to work with expression trees in C#.

Features

  • API: Returns a string containing the C# representation of the expression and provides extension methods to facilitate the creation of expression trees.
  • Base class for custom expressions: Accepts a custom visitor extending the ExpressionVisitor to support custom expressions.
  • Helper for combining lambdas: Allows combining fully created lambdas into a new lambda by rewriting and inlining the bodies of the resulting lambda.
  • Base class for pretty print specific language: Provides a base class for pretty printing specific languages like C#.
  • Statements support: Enables the creation of statements such as do-while, foreach, for, using, and while statements.
  • Combining lambda predicates: Allows combining lambda predicates using boolean operators while keeping the predicates simple and understandable for LINQ providers.

Summary

Mono.Linq.Expressions is a versatile helper library that enhances the functionality of working with expression trees in C#. It provides various features such as API for expression representation, extension methods for easier expression tree creation, support for custom expressions, combining lambdas, pretty printing specific languages, support for different types of statements, and combining lambda predicates. If you are working with expression trees in .NET or Mono environments, this library can be a valuable addition to your toolkit.