ExpressionTreeToString
ExpressionTreeToString copied to clipboard
Formatting options
- [ ] Formatter -- C#, VB.NET, C# Factory methods, VB.NET factory methods, Debug view, JSON, XML
- [ ] Fully qualified type names vs only name component
- [ ] Render closed-over variables as simple identifiers vs member-access on display class
Code formatter options
- [ ] Newline after logical operator
- [ ] Newline after method call (in VB.NET, the
.
will be at the end of the line; in C# at the beginning) - [ ] Render types of generic method calls
- [ ] Render types of implicit array initialization
- [ ] Render implicit conversions
- [ ] Render types of variables vs using
var
C# code formatter:
- [ ] Render checked operations wrapped in
checked
blocks - [ ] Render unchecked operations wrapped in
unchecked
blocks - [ ] More newline options ...
- [ ] Numeric suffixes #1
VB.NET formatter options
- [ ] More newline options ...
- [ ] Variable suffixes (are these deprecated?)
Factory method formatter options:
- [ ]
using
/Imports
namespace or namespace+class, e.g.System.Linq.Expressions
means that every method is calledExpression.Add(
etc.
XML / JSON formatter options:
- [ ] pretty-print
- [ ] Block as child node
- [ ] Member binding as child node
Textual tree options:
- [X] Which expressions to reduce? By default, nodes with a NodeType == ExpressionType.Extension
DebugView / ToString options:
- [x] .NET Framework compatibility (.NET Core has some changes to the output.)
Dynamic LINQ
- [ ] explicitly render parameters, or use
it
- [ ] casing for keywords - lower case, upper case, proper case
- [ ] prefer keywords / prefer symbols
- [ ] reverese options from https://dynamic-linq.net/advanced-configuration
- [ ] detect null comparison and conditional, and replace with np function