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
Sentry.io
- Open source developer; maintaining projects spanning 8000+ stars and 5 m. downloads across all of them
- Tech blogger & conference speaker
- Actively working with various Cloud technologies
- Interested in automating everything that can be automated
- Believes that clean code is a business goal
- Twitter, Github