For the most part, .NET developers use a high-level
language, such as C# or VB .NET, to develop their systems.
However, the core language of .NET is the Common
Intermediate Language, or CIL. This language is the
language of .NET-developers can use CIL to do whatever is
allowed by the .NET specifications, which is not the case
for C# and VB .NET. Although it is unlikely that the
majority of .NET developers will create their assemblies in
CIL, understanding how CIL works will give them a deep,
language-independent insight into the core parts of .NET.
Furthermore, such knowledge is essential for creating
dynamic types, a powerful part of the .NET Framework.
In "CIL Programming: Under the Hood of .NET", Jason Bock
covers the essentials of programming the CIL. First, Bock
discusses the basics of what .NET assemblies are and how
manifests fit into the picture. He then shows how to create
assemblies in .NET-including the ilasm directives and CIL
opcodes, and how these are used to define assemblies,
classes, field, methods, and method definitions. Bock also
covers how C# and VB .NET and other non-MS languages emit
CIL and how they differ. Finally, he reveals how developers
can create dynamic assemblies at runtime via the Emitter
classes.
After reading "CIL Programming: Under the Hood of .NET",
developers will have a better understanding of the CIL and
how to program directly into it. A must-have on every .NET
developer's desk!
Table of Contents
- 1. Language Interoperability.
- 2. ilasm Directives.
- 3. CIL Opcodes.
- 4. ilasm and CIL in Practice.
- 5. Debugging CIL.
- 6. .NET Languages and CIL.
- 7. Creating Dynamic Types.
- 8. Dynamic Proxies in .NET.
- 9. Conclusions.
- Appendix: The Future of CIL.