EBOOK

About
Metaprogramming in.NET is designed to help readers understand the basic concepts, advantages, and potential pitfalls of metaprogramming. It introduces core concepts in clear, easy-to-follow language and then it takes you on a deep dive into the tools and techniques you'll use to implement them in your.NET code. You'll explore plenty of real-world examples that reinforce key concepts. When you finish, you'll be able to build high-performance, metaprogramming-enabled software with confidence.
About the Technology
When you write programs that create or modify other programs, you are metaprogramming. In.NET, you can use reflection as well as newer concepts like code generation and scriptable software. The emerging Roslyn project exposes the.NET compiler as an interactive API, allowing compile-time code analysis and just-in-time refactoring.
What's Inside
• Metaprogramming concepts in plain language
• Creating scriptable software
• Code generation techniques
• The Dynamic Language Runtime
Table of Contents
PART 1 DEMYSTIFYING METAPROGRAMMING
• Metaprogramming concepts
• Exploring code and metadata with reflection. PART 2 TECHNIQUES FOR GENERATING CODE
• The Text Template Transformation Toolkit (T4)
• Generating code with the CodeDOM
• Generating code with Reflection.
Emit
• Generating code with expressions
• Generating code with IL rewriting. PART 3 LANGUAGES AND TOOLS
• The Dynamic Language Runtime
• Languages and tools
• Managing the.NET Compiler
About the Technology
When you write programs that create or modify other programs, you are metaprogramming. In.NET, you can use reflection as well as newer concepts like code generation and scriptable software. The emerging Roslyn project exposes the.NET compiler as an interactive API, allowing compile-time code analysis and just-in-time refactoring.
What's Inside
• Metaprogramming concepts in plain language
• Creating scriptable software
• Code generation techniques
• The Dynamic Language Runtime
Table of Contents
PART 1 DEMYSTIFYING METAPROGRAMMING
• Metaprogramming concepts
• Exploring code and metadata with reflection. PART 2 TECHNIQUES FOR GENERATING CODE
• The Text Template Transformation Toolkit (T4)
• Generating code with the CodeDOM
• Generating code with Reflection.
Emit
• Generating code with expressions
• Generating code with IL rewriting. PART 3 LANGUAGES AND TOOLS
• The Dynamic Language Runtime
• Languages and tools
• Managing the.NET Compiler