Metaprogramming in C | Automate your .NET development and simplify overcomplicated code
Language: English
Published by Packt Publishing, 2023
- Softcover
- New



Condition: New
US$ 102.91
Quantity: 5 available
Add to basketItem description from seller
Metaprogramming in C | Automate your .NET development and simplify overcomplicated code | Einar Ingebrigtsen | Taschenbuch | Englisch | 2023 | Packt Publishing | EAN 9781837635429 | Verantwortliche Person für die EU: Libri GmbH, Europaallee 1, 36244 Bad Hersfeld, gpsr[at]libri[dot]de | Anbieter: preigu Print on Demand.
Seller Inventory # 127194405
- Title
- Metaprogramming in C | Automate your .NET development and simplify overcomplicated code
- Author
- Einar Ingebrigtsen
- Publisher
- Packt Publishing
- Publication year
- 2023
- Condition
- Neu
- Binding
- Taschenbuch
- Language
- English
- ISBN 10
- 1837635420
- ISBN 13
- 9781837635429
- Item weight
- 658 grams
- Dimensions
- 235 x 191 x 20 mm
- Seller catalogs
- Bücher
Master advanced techniques for dynamic .NET programming and accelerate productivity by automating tasks, generating adaptable code, and more
Purchase of the print or Kindle book includes a free PDF eBook
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 Description
Metaprogramming 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
- Explore how to leverage the .NET runtime
- Improve code quality and increase productivity
- Write adaptable code for changing requirements
- Learn Roslyn for code generation and static analysis
- Master metaprogramming and its practical implementations
- Use Dynamic Language Runtime for flexible and expressive programming
Who this book is for
This 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.
Table of Contents
- 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
"Synopsis" may belong to another edition of this title.
About the Author
Einar Ingebrigtsen works as chief architect at Aksio InsurTech, a company focusing on building insurance and pension solutions. His heart is in architecture and improving the lives of developers and he loves to create solutions that make other developers more productive and help in delivering great products to end users. Einar has been developing software professionally since 1994 and has done so in everything from games on different platforms to broadcast TV software, to telecom software, to line of business software within multiple different verticals. Of all of his experiences, he has fallen in love with a specific flavor of architecture, mindset, and approach – namely, event sourcing. Most of his time at work (and spare time) is devoted to building out a platform that has the goal of democratizing event sourcing called Cratis.
"About the title" may belong to another edition of this title.
Shipping rates from Germany to U.S.A.
| Item | 60 to 60 business days | 60 to 60 business days |
|---|---|---|
| First item | US$ 78.58 | US$ 78.58 |
Payment methods
- Paypal
Store description
preigu betreibt einen Onlineversandhandel mit über 1 Mio. Produkten in verschiedenen Sortimenten. Das Kernsortiment besteht aus Büchern, Medien und Spielwaren. Ein gelungenes Einkaufserlebnis ist das Ziel einer jeden Bestellung bei preigu, denn der Kunde und seine Zufriedenheit stehen an erster Stelle. preigu setzt daher auf einen kompetenten Kundenservice, funktionierende Prozesse und schnelle Reaktion.
Specialty
Bücher, SpielwarenSeller's business information
preigu GmbH & Co. KG
Lengericher Landstraße 19
Osnabrück, Germany 49078
Terms of sale
Standard Business Terms and customer information
I. Standard business terms
§ 1 Basic provisions
(1) The following terms and conditions of business apply for all contracts concluded with us as the supplier (preigu GmbH & Co. KG) via the websites AbeBooks and/or ZVAB. Unless otherwise agreed, the inclusion of your own terms and conditions is explicitly rejected.
(2) A ‘consumer' in the sense of the following regulations is every natural person who concludes a legal transaction which, to an overwhelming extent, cannot be attributed to either his commercial or independent professional activities. The term ‘businessman' refers to every natural person, legal person or legally responsible partnership that concludes a legal transaction in pursuance of his/its independent professional or commercial activity.
§ 2 Conclusion of the contract
(1) The subject-matter of the contract is the selling of products .
(2) If an article is placed by us with AbeBooks or ZVAB, the activation of the page on AbeBooks or ZVAB shall involve the binding offer to conclude a contract under the terms and conditions contained in the article page.
(3) The contract shall become effective via the online shopping cart system as follows:
The products intended for purchase are moved to the "shopping cart". You can select the "Shopping Cart" using the appropriate buttons on the navigation bar and make changes there at any time.
After calling up the "Checkout" page and entering the required personal data and payment and shipping conditions, all order information is then displayed again on the order summary page.
Before submitting the order, you have the ability once more to review or change any information here (you may also use the "back" button on the Internet browser), or to cancel the purchase.
By clicking the "Buy now" button to submit the order, you declare your legally binding acceptance of the order which makes the contract effective.
(4) The execution of the order and the sending of all the details necessitated by the conclusion of the contract take place via e-mail, in a partially-automated manner. Consequently, you have to ensure that the e-mail address that you have deposited with us is the correct one, and that the receipt of the respective e-mails is guaranteed. In particular, you have to ensure that the respective e-mails are not blocked by a SPAM filter.
§ 3 Right of retention, reservation of proprietary rights
(1) You can only exercise a right of retention if the situation in question involves claims arising from the same contractual relationship.
(2) The goods remain our property until the purchase price is paid in full.
§ 4 Warranty
(1) The statutory warranty rights are applicable.
(2) As a consumer, you are requested to promptly check the product for completeness, visible defects and transport damage as soon as it is delivered, and promptly disclose your complaints to us and the shipping company in writing. Even if you do not comply with this request, it shall have no effect on your legal warranty claims.
(3) If a characteristic of the goods deviates from the objective requirements, the deviation shall only be deemed to be agreed if you were informed of the same by us before submitting the contractual declaration and the deviation was expressly and separately agreed between the contracting parties.
§ 5 Choice of law, place of fulfilment, jurisdiction
(1) German law shall apply. This choice of law only applies to customers if it does not result in the revocation of the protection guaranteed by the mandatory provisions of the law of the country in which the respective customer's usual place of residence is located (benefit-of-the-doubt principle).
(2) If you are not a consumer, but a businessman, a legal entity under public law or an institutional fund governed by public law, our place of business is the place of jurisdiction as well as the place of fulfilment for all services that follow from the business relationships that exist with us. The same condition applies to situations in which you are not associated with a general place of jurisdiction in Germany or the EU, as well as situations in which the place of residence or the usual place of residence is not known at the time of commencement of proceedings. This has no bearing on the capacity to call upon the court associated with another place of jurisdiction.
(3) The provisions of the UN Convention on Contracts for the International Sale of Goods are explicitly inapplicable.
II. Customer information
- Identity of the seller
preigu GmbH & Co. KG
Lengericher Landstr. 19
49078 Osnabrück
Germany
Telephone: 0541-580 72 84
E-Mail: mail@preigu.de
We are neither willing nor obliged to participate in dispute resolution proceedings before consumer arbitration boards.
- Information regarding the conclusion of the contract
The technical steps associated with the conclusion of the contract, the contract conclusion itself and the correction options are executed in accordance to the regulations "conclusion of the contract" in our standard business terms (part I.).
- Contractual language, saving the text of the contract
3.1 Contract language shall be English.
3.2 The complete text of the contract is not saved with us. Before the order is sent, the contract data can be printed out or electronically saved using the browser's print function. After the order is received by us, the order data, the legally-mandated details related to distance selling contracts and the standard business terms are re-sent to you via e-mail.
- Main features of the product or service
The key features of the goods and/or services can be found in the respective quote.
- Prices and payment arrangements
5.1 The prices mentioned in the respective offers represent total prices, as do the shipping costs. They include all the price components, including all the incidental taxes.
5.2 The dispatch costs that are incurred are not included in the purchase price. They can be viewed by clicking the appropriate button on our website or in the respective quote, are shown separately over the course of the order transaction and must additionally be borne by you, insofar as free delivery is not confirmed.
5.3 If delivery is made to countries outside of the European Union, we may incur unreasonable additional costs, such as duties, taxes or money transfer fees (transfer or foreign exchange fees charged by the banks), which you must bear.
5.4 You must also bear the costs arising from money transfers in cases in which the delivery is made to an EU Member State, but the payment is initiated outside of the European Union.
5.5 The payment methods that are available to you are shown by clicking the appropriate button on our website or are disclosed in the respective quote.
5.6 Unless otherwise specified for the respective payment methods, the payment claims arising from the contract that has been concluded become payable immediately.
- Delivery conditions
6.1 The delivery conditions, delivery date and existing supply restrictions, if applicable, can be found by clicking the appropriate button on our website or in the respective quote.
Unless a different period is specified in the item description or our delivery conditions, the goods are delivered within 3-5 days after the conclusion of the contract (in case an advance payment has been agreed upon, after the payment authorisation).
6.2 If you are a consumer, the following is statutorily regulated: The risk of the sold item accidentally being destroyed or degraded during shipping only passes over to you when the item in question is delivered, regardless of whether or not the shipping operation is insured. This condition does not apply if you have independently commissioned a transport company that has not been specified by us or a person who has otherwise been appointed to execute the shipping operation.
- Statutory warranty right
Liability for defects is governed by the "Warranty" provisions in our General Terms and Conditions of Business (Part I).
Information on battery disposal
In connection with the sale of batteries or the delivery of devices containing batteries, we are obliged to inform you of the following:
Batteries must not be disposed of with household waste.
You can either return used batteries that we carry or have carried in our range as new batteries to us at your own expense or return them free of charge to our shipping warehouse (shipping address). Alternatively, you can hand in the batteries at your local collection points.
As an end user, you are legally obliged to return used batteries so that they can be recycled or disposed of properly.
Used batteries may contain harmful substances that can damage the environment or your health if not stored or disposed of properly. However, batteries also contain important raw materials such as iron, zinc, manganese or nickel and can be recycled.
The symbols on the batteries have the following meanings:
The symbol of the crossed-out wheelie bin means that the battery must not be disposed of with household waste.
For batteries containing a certain amount of lead, cadmium or mercury, the following additions below the symbol with the crossed-out wheelie bin indicate the respective pollutants:
Pb = Battery contains more than 0.004% lead by weight
Cd = Battery contains more than 0.002% cadmium by weight
Hg = Battery contains more than 0.0005% mercury by weight
Information on the costs involved in accordance with Article 56 (4) of the EU Battery Regulation (Regulation 2023/1542) can be found at the ‘Batterie-Zurück (https://www.batterie-zurueck.de/de/bewirtschaftungvonaltbatterien/)' initiative.
Please pay attention to the above instructions.