Metaprogramming in C#
Packt Publishing Limited (Verlag)
978-1-83763-542-9 (ISBN)
Key Features
Employ metaprogramming to automate your tasks and increase your productivity
Write maintainable, scalable, and adaptable code using metaprogramming techniques
Leverage the .NET runtime for complex problem-solving
Book DescriptionMetaprogramming is an advanced technique that helps developers to automate repetitive tasks, generate scalable code, and enhance productivity in software development. Metaprogramming in C# is a comprehensive guide that will help you reap the full potential of metaprogramming in .NET runtime.
You’ll start by learning about the .NET runtime environment and how you can use it to become a more productive developer. You'll learn how to infer types using reflection, use attributes, and create dynamic proxies. You’ll also explore the use of expressions to create and execute code and how to take advantage of Dynamic Language Runtime.
But that's not all! You’ll also learn to go beyond inheritance and use method signature conventions to create easily maintainable code. Finally, you’ll dive into the world of compiler magic with Roslyn, where you'll discover how to use Roslyn to generate code, perform static code analysis, and write your own compiler extensions.
By the end of this book, you’ll have a deep understanding of metaprogramming concepts and how to apply them to your C# code. You’ll be able to think about types, use attributes and expressions to generate code, and apply crosscutting concerns to improve code quality.What you will learn
Write less repetitive code
Increase productivity
Improve feedback loop
Focus on delivering business value
Improve security
Improve software quality
Who this book is forThis book is for C# developers interested in learning about the .NET runtime and how to leverage it for writing maintainable, scalable, and secure code. Software architects who are responsible for designing and managing complex software solutions will also benefit from the book.
Einar Ingebrigtsen has been working professionally with software since 1994—ranging from games development on platforms such as PlayStation, Xbox, and the PC to the enterprise line of business application development since 2002. He has always focused on creating great products with great user experiences, putting the user first. Einar was a Microsoft MVP awardee from October 2008 until July 2015, which he was awarded for his work in the community and in the Silverlight space with open source projects such as Balder, a 3D engine for Silverlight. For years, Einar ran a company called Dolittle together with partners, doing consultancy work and building their own products with their own open source projects at the heart of what they did. Amongst the clients that Dolittle has had over the last couple of years include NRK (the largest TV broadcaster in Norway), Statoil (a Norwegian oil company), Komplett (the largest e-commerce company in Norway), and Holte (a leading Norwegian developer for construction software). Today, Einar works for Microsoft as a technical evangelist, focusing on Azure and advising ISVs, which meant giving up the MVP title. A strong believer in open source, he runs a few projects in addition to Balder, the largest being Bifrost (http://bifr.st), a line of business platforms for .NET developers, and also worth mentioning is Forseti (http://github.com/dolittle/forseti), a headless auto-running JavaScript test runner. Additionally, Einar loves talking at user groups and conferences and has been a frequent speaker at Microsoft venues, talking about different topics—the last couple of years he has mostly focused on architecture, code quality, and cloud computing. His personal blog is at http://www.ingebrigtsen.info. Einar has also published another book on the subject of SignalR Blueprints, by Packt Publishing.
Table of Contents
Product Information Document
How Can Metaprogramming Benefit You?
Metaprogramming Concepts
Demystifying through Existing Real-World Examples
Reasoning about Types Using Reflection
Leveraging Attributes
Dynamic Proxy Generation
Reasoning about Expressions
Building and Executing Expressions
Taking Advantage of the Dynamic Language Runtime
Convention over Configuration
Applying the Open-Closed Principle
Go Beyond Inheritance
Applying Cross-Cutting Concerns
Aspect Oriented Programming
Roslyn Compiler Extensions
Generating Code
Static Code Analysis
Caveats and Final Words
Erscheinungsdatum | 10.07.2023 |
---|---|
Verlagsort | Birmingham |
Sprache | englisch |
Maße | 191 x 235 mm |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► NET Programmierung |
Mathematik / Informatik ► Informatik ► Theorie / Studium | |
ISBN-10 | 1-83763-542-0 / 1837635420 |
ISBN-13 | 978-1-83763-542-9 / 9781837635429 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich