.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-แƒจแƒ˜ แƒจแƒ”แƒซแƒ”แƒœแƒ˜แƒšแƒ˜ แƒแƒฃแƒ“แƒ˜แƒแƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ›แƒ”แƒœแƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ˜แƒก แƒ•แƒ”แƒ‘-แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ—.
แƒ”แƒšแƒฌแƒแƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜
แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ›แƒ”แƒšแƒœแƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Kobo eReaders, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— แƒ˜แƒ’แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒชแƒ”แƒœแƒขแƒ แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒš แƒ”แƒšแƒฌแƒแƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒ–แƒ”.