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