Skip to content
A .NET Standard 1.0 library and set of Debugger Visualizers which translate expression trees into readable code
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
NuGet v2.1.1 NuGet package, visualisers and installer Feb 7, 2019
ReadableExpressions.UnitTests.Net35 Naming unnamed variables and parameters in translations - fixed issue #… Sep 17, 2018
ReadableExpressions.UnitTests Including lambda parameters in expression analysis - fixes #31 Feb 7, 2019
ReadableExpressions.Visualizers.Core Consistently converting Quoted linq expressions Jul 7, 2018
ReadableExpressions.Visualizers.Installer Updating to v2.1.1 Feb 7, 2019
ReadableExpressions.Visualizers.Vs12 Updating VS10 -> Vs12 projects to use NuGet packages for the VisualSt… Mar 23, 2017
ReadableExpressions.Visualizers.Vs14 Adding NetStandardPolyfills reference to .Net40 project / Adding NetS… Nov 11, 2016
ReadableExpressions.Visualizers.Vs16 Supporting VS2019 preview in visualizers installer, re: issue #30 Dec 11, 2018
ReadableExpressions Updating to v2.1.1 Feb 7, 2019
.gitattributes 🎊 Added .gitattributes Aug 23, 2014
AgileObjects.ReadableExpressions.Visualizers.Vs11.dll v2.1.1 NuGet package, visualisers and installer Feb 7, 2019
AgileObjects.ReadableExpressions.Visualizers.Vs16.dll v2.1.1 NuGet package, visualisers and installer Feb 7, 2019
AgileObjects.ReadableExpressions.Visualizers.msi v2.1.1 NuGet package, visualisers and installer Feb 7, 2019
NextVersion.txt Translating Goto statements which go to the final statement in a bloc… Dec 16, 2017
ReadableExpressions.sln.DotSettings Remove string use (#28) Nov 17, 2018
VersionInfo.cs Updating to v2.1.1 Feb 7, 2019



ReadableExpressions is an extension method for the Expression class and set of Debugger Visualizers to produce readable, source-code string versions of Expression Trees. It targets .NETStandard 1.0+ and .NET 3.5+.


The extension method (in the namespace AgileObjects.ReadableExpressions) is used like so:

string readable = myExpression.ToReadableString(); also works on DynamicLanguageRuntime expressions.


To maintain explicit generic arguments on method calls where they are implied, use:

string readable = myExpression
    .ToReadableString(c => c.UseExplicitGenericParameters);

To include namespaces when outputting Type names, use:

string readable = myExpression
    .ToReadableString(c => c.UseFullyQualifiedTypeNames);

To define a custom factory for naming anonymous types, use:

string readable = myExpression
    .ToReadableString(c => c.NameAnonymousTypesUsing(anonType => GetAnonTypeName(anonType)));

To output a source code comment when a lambda is 'quoted', use:

string readable = myExpression
    .ToReadableString(c => c.ShowQuotedLambdaComments);

Debugger Visualizers

An installer for a set of Debugger Visualizers which use the extension method for Expressions can be downloaded from the Visual Studio Gallery.


You can download and install using the NuGet package, or clone the repository on GitHub.

You can’t perform that action at this time.