ReadableExpressions
ReadableExpressions provides extension methods and a
Debugger Visualizer
for readable, source-code versions of
Expression Trees,
as well as reflection objects like Type
, FieldInfo
, PropertyInfo
, etc.
Debugger Visualizer
The Debugger Visualizer installer can be downloaded from Visual Studio Marketplace.
The visualizer has both Light and Dark themes:
...and output can be customised using various options:
ASP.NET Core 5 Known Issue
.NET 5 had a breaking change, which disables BinaryFormatter
serialization by default.
This has caused issues with the ReadableExpressions visualizers (and elsewhere)
when debugging ASP.NET Core apps as the VS debugger uses BinaryFormatter
to serialize objects before sending them to the visualizer.
The solution is to enable the
BinaryFormatter
in Debug only by adding the following to your ASP.NET Core csproj:
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<EnableUnsafeBinaryFormatterSerialization Condition=" '$(Configuration)' == 'Debug' ">
true
</EnableUnsafeBinaryFormatterSerialization>
</PropertyGroup>
Extension Methods
The extension methods are available on NuGet, and target .NET 3.5+ and .NETStandard 1.0+:
PM> Install-Package AgileObjects.ReadableExpressions
To translate an Expression, use:
using AgileObjects.ReadableExpressions;
string readable = myExpression.ToReadableString();
...this also works on DynamicLanguageRuntime expressions.
All code is licensed with the MIT licence. Check out the documentation for more!