Meta-Programming in C# 101 - How Stuff Works.
We live in a world where our tools, frameworks and libraries are often built for us. Especially in .NET, we rely on ASP.NET MVC, DI Containers, Unit testing tools and IDEs and all of these things sell themselves on hiding complexity and being "hard problems".
In this session, I want to explain how all these big tools and frameworks aren't really that different, and are built using the same language and practices that you using in your user-land code every day.
We'll break down how all that stuff works - MVC, Test frameworks and containers - illustrating how it's all just meta-programming with reflection, and hopefully leave you with practical tips for implementing strong conventions, discovery, and implementing composition in your own code bases.