Expression trees in C#
Talk video
Talk presentation
Expression trees is an obscure, although very interesting feature in .NET. Most people probably think of it as something synonymous with object-relational mapping frameworks, but despite being its most common use case, it’s not the only one. There are a lot of creative things you can do with expression trees, including code generation, transpilation, metaprogramming, and more. During this talk, I will explain what this feature really is about and guide you through some examples where it provides real-life benefits.
We'll talk about:
- What is an expression tree
- How to compile code at runtime
- How to make reflection faster
- How to implement generic operators
- How to turn DSLs into expression trees
- How to make metaprogramming type-safe
- How to translate a lambda into a different language...and more
Oleksii Holub
Self-employed
- Software consultant focusing on developer tooling & developer experience
- He spends some of his free time speaking at conferences, writing technical articles, and doing open source — the projects he maintains have earned over 15000 stars on GitHub and millions of downloads
- His community engagement has also been recognized with awards, such as Microsoft MVP and GitHub Star
- Twitter, Github