Metaprogramming in .NET
The performance and functionality of a program depends a great deal on its runtime
environment, which can vary a great deal from session to session. Metaprogramming
is a style of software development that incorporates runtime information into its
decision-making. Metaprogramming techniques like reflection and code generation
can make your software more adaptive and reusable. The .NET Framework exposes many
metaprogramming capabilities including code generation systems, application composition
frameworks, and scripting technologies. 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.