Chapter 9. Languages and tools

This chapter covers

  • An introduction to languages that contain native metaprogramming constructs
  • An overview of tools that provide dynamic programming facilities for C#

Throughout this book, you’ve seen C# used (and potentially abused!) to facilitate metaprogramming. In some cases, external components (like NRefactory and Cecil) were used because they provided functionality necessary to support metaprogramming. Although C# is a powerful programming language that you can use to create concise, flexible programs, at times in this book C# may have felt twisted and bent to service metaprogramming needs.

This isn’t too surprising, because you could argue that C# wasn’t designed with metaprogramming as a deep, core ...

Get Metaprogramming in .NET now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.