Table of contents : About the Authors......Page 3 Copyright......Page 5 Contents at a Glance......Page 6 Contents......Page 8 Acknowledgments......Page 12 Introduction......Page 14 CHAPTER 1. Introduction to C#......Page 16 The Component-based Model of Software Design......Page 17 The .NET Approach to Component-based Software Development......Page 20 What Is the .NET Framework......Page 21 Why C#......Page 26 What Is C#......Page 28 CHAPTER 2. C# Language Review......Page 30 A Simple C# Program......Page 31 C# Types and Type Management......Page 33 Object-oriented Component Development in C#......Page 43 Namespaces in C#......Page 72 Exceptions......Page 74 Attributes......Page 76 Indexers......Page 77 Writing Unsafe Code......Page 80 Documenting Code Using XML......Page 81 C# Coding Style......Page 83 CHAPTER 3. .NET, the Operating Environment for C#......Page 84 Microsoft IL......Page 85 .NET Building Blocks......Page 91 Building Modules and Assemblies......Page 93 Robust Version Control......Page 94 Built-in Metadata......Page 99 Cross-language Interoperability......Page 108 Common Language Specification......Page 109 Common Type System......Page 110 Object-oriented......Page 111 Memory Management Through Garbage Collection......Page 113 Thread Synchronization......Page 122 CHAPTER 4. C# Language Comparisons......Page 124 Comparing C# to C++......Page 125 Comparing C# to Visual Basic.NET......Page 142 Comparing C# to Java......Page 147 CHAPTER 5. Working Within the Bounds of C#......Page 158 Deterministic Finalization......Page 159 Multiple Inheritance......Page 169 Macros......Page 177 Templates......Page 179 Source Code Security......Page 181 CHAPTER 6. Integrating Legacy Code with C#......Page 182 Integration Approaches......Page 183 Calling COM Objects from C#......Page 184 The COM Callable Wrapper,Calling .NET Objects from COM......Page 192 Data Marshalling......Page 211 Platform Invocation Services,Calling Unmanaged APIs from C#......Page 214 Interoperability Through Managed C++......Page 216 Migrating Code......Page 225 Summary......Page 226 Index......Page 228 INTERNATIONAL CONTACT INFORMATION......Page 241