You are previewing Essential .NET, Volume 1: The Common Language Runtime.
O'Reilly logo
Essential .NET, Volume 1: The Common Language Runtime

Book Description

"Don taught me stuff I didn't know about my own product! And I bet he'll teach you something, too."
—From the Foreword by James Miller, Lead Program Manager, Common Language Runtime, Microsoft Corporation

Essential .NET, Volume 1, provides everything developers need to take full advantage of the power of Microsoft .NET. This book describes, in depth, the glue of the .NET Framework: the Common Language Runtime (CLR). Box and Sells explain the inner workings of the CLR—the rationale behind its design, the problems it solves, and the role of type in CLR programming—and show readers how to build better applications using the .NET Framework while gaining a more complete understanding of how the CLR works.

The book is packed with the practical detail and expert advice only Don Box can provide. Topics covered include:

  • CLR's evolution

  • Assemblies in the .NET Framework

  • The CLR type system

  • Programming with type

  • Objects and values

  • Methods

  • Explicit method invocation

  • Application domains

  • Security

  • Interoperability

Essential .NET, Volume 1, is an authoritative guide to the Microsoft .NET Common Language Runtime.

Books in the Microsoft .NET Development Series are written and reviewed by the principal authorities and pioneering developers of the Microsoft .NET technologies, including the Microsoft .NET development team and DevelopMentor. Books in the Microsoft .NET Development Series focus on the design, architecture, and implementation of the Microsoft .NET initiative to empower developers and students everywhere with the knowledge they need to thrive in the Microsoft .NET revolution.



0201734117B10042002

Table of Contents

  1. Copyright
  2. Microsoft.NET Development Series
  3. Titles in the Series
  4. Figures
  5. Tables
  6. Foreword
  7. Preface
    1. What Happened?
    2. About This Book
    3. Acknowledgments
  8. The CLR as a Better COM
    1. COM Revisited
    2. The Common Language Runtime
    3. The Evolution of the Programming Model
    4. Where Are We?
  9. Components
    1. Modules Defined
    2. Assemblies Defined
    3. Assembly Names
    4. Public Keys and Assemblies
    5. The CLR Loader
    6. Resolving Names to Locations
    7. Versioning Hazards
    8. Where Are We?
  10. Type Basics
    1. Type Fundamentals
    2. Types and Initialization
    3. Types and Interfaces
    4. Types and Base Types
    5. Where Are We?
  11. Programming with Type
    1. Types at Runtime
    2. Programming with Metadata
    3. Special Methods
    4. Metadata and Extensibility
    5. Where Are We?
  12. Instances
    1. Objects and Values Compared
    2. Variables, Parameters, and Fields
    3. Equivalence Versus Identity
    4. Cloning
    5. Boxing
    6. Arrays
    7. Object Life Cycle
    8. Finalization
    9. Where Are We?
  13. Methods
    1. Methods and JIT Compilation
    2. Method Invocation and Type
    3. Interfaces, Virtual Methods, and Abstract Methods
    4. Explicit Method Invocation
    5. Indirect Method Invocation and Delegates
    6. Asynchronous Method Invocation
    7. Method Termination
    8. Where Are We?
  14. Advanced Methods
    1. Motivation
    2. Messages as Method Calls
    3. Stack and Message Transitions
    4. Proxiable Types
    5. Message Processing (Revisited)
    6. Objects and Context
    7. Contexts and Interception
    8. Where Are We?
  15. Domains
    1. Execution Scope and the CLR
    2. Programming with AppDomains
    3. AppDomain Events
    4. AppDomains and the Assembly Resolver
    5. AppDomains and Code Management
    6. AppDomains and Objects (Revisited)
    7. Where Are We?
  16. Security
    1. Components and Security
    2. Evidence
    3. Policy
    4. Permissions
    5. Enforcement
    6. Where Are We?
  17. CLR Externals
    1. Memory
    2. Modes of Execution
    3. Unmanaged Modules
    4. Loading the CLR
    5. The CLR as a COM Component
    6. Where Are We?
  18. Glossary