.NET Development Using the Compiler API

Β· Apress
αžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž…
158
αž‘αŸ†αž–αŸαžš

αž’αŸ†αž–αžΈαžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€αž“αŸαŸ‡

This is the first book to describe the recent significant changes to the .NET compilation process and demonstrate how .NET developers can use the new Compiler API to create compelling applications. As an open source compiler, the Compiler API now makes its code available for anyone to use. In this book, you’ll get a concise, focused view of this tremendous resource for developers, who can now use any part of the platform implementation to their advantage in analyzing applications, improving code generation, and providing enforceable patterns, all under an OSS model.
You will learn how to analyze your code for defects in a fast, clean manner never available before. You’ll work with solutions and projects to provide automatic refactoring, and you’ll discover how you can generate code dynamically to provide application implementations at runtime
Having the Compiler API available opens a number of doors for .NET developers that were either simply not there before, or difficult to achieve. However, the API is vast, and this concise book provides a valuable roadmap to this new development environment.
What You Will Learn:
  • Understand how to generate, compile, and execute code for a number of scenarios
  • How to create diagnostics and refactoring to help developers enforce conventions and design idioms
  • Experiment with the compiler code base and see what can be done to influence the inner workings of the compilation pipeline

Who This Book Is For:Experienced .NET developers, but detailed compiler knowledge is not necessary.

αžŸαŸ’αžœαŸ‚αž„αžšαž€β€‹αž…αŸ’αžšαžΎαž“αž‘αŸ€αž

αž’αŸ†αž–αžΈβ€‹αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’

Jason Bock is a Practice Lead for Magenic and a Microsoft MVP (C#). He has 20 years of experience working on a number of business applications using a diverse set of frameworks and languages such as C#, .NET, and JavaScript. He is the author of "Metaprogramming in .NET", "Applied .NET Attributes", and "CIL Programming: Under the Hood of .NET". He has written numerous articles on software development issues and has presented at a number of conferences and user groups. He is a leader of the Twin Cities Code Camp . Jason holds a Master's degree in Electrical Engineering from Marquette University.

αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€αž“αŸαŸ‡

αž”αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„αž’αŸ†αž–αžΈαž€αžΆαžšαž™αž›αŸ‹αžƒαžΎαž‰αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž’αžΆαž“β€‹αž–αŸαžαŸŒαž˜αžΆαž“

αž‘αžΌαžšαžŸαž–αŸ’αž‘αž†αŸ’αž›αžΆαžαžœαŸƒ αž“αž·αž„β€‹αžαŸαž”αŸ’αž›αŸαž
αžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Google Play Books αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Android αž“αž·αž„ iPad/iPhone αŸ” αžœαžΆβ€‹αž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜β€‹αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‡αžΆαž˜αž½αž™β€‹αž‚αžŽαž“αžΈβ€‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€β€‹ αž“αž·αž„β€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™β€‹αž’αŸ’αž“αž€αž’αžΆαž“αž–αŸαž›β€‹αž˜αžΆαž“αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αž¬αž‚αŸ’αž˜αžΆαž“β€‹αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžβ€‹αž“αŸ…αž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„αŸ”
αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšβ€‹αž™αž½αžšαžŠαŸƒ αž“αž·αž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžš
αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžŠαžΆαž”αŸ‹αžŸαŸ€αžœαž—αŸ…αž‡αžΆαžŸαŸ†αž‘αŸαž„αžŠαŸ‚αž›αž”αžΆαž“αž‘αž·αž‰αž“αŸ…αž€αŸ’αž“αž»αž„ Google Play αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαž€αŸ’αž“αž»αž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”
eReaders αž“αž·αž„β€‹αž§αž”αž€αžšαžŽαŸβ€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αž
αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αž“αŸ…αž›αžΎβ€‹αž§αž”αž€αžšαžŽαŸ e-ink αžŠαžΌαž…αž‡αžΆβ€‹αž§αž”αž€αžšαžŽαŸαž’αžΆαž“β€‹αžŸαŸ€αžœαž—αŸ…αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€ Kobo αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœβ€‹αž‘αžΆαž‰αž™αž€β€‹αž―αž€αžŸαžΆαžš αž αžΎαž™β€‹αž•αŸ’αž‘αŸαžšαžœαžΆαž‘αŸ…β€‹αž§αž”αž€αžšαžŽαŸβ€‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αžŸαžΌαž˜αž’αž“αž»αžœαžαŸ’αžαžαžΆαž˜β€‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž›αž˜αŸ’αž’αž·αžαžšαž”αžŸαŸ‹αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‡αŸ†αž“αž½αž™ αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαž―αž€αžŸαžΆαžšβ€‹αž‘αŸ…αž§αž”αž€αžšαžŽαŸαž’αžΆαž“αžŸαŸ€αžœαž—αŸ…β€‹αž’αŸαž‘αž·αž…αžαŸ’αžšαžΌαž“αž·αž€αžŠαŸ‚αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αŸ”