深入理解.NET(第2版·英文版)

深入理解.NET(第2版·英文版)
作 者: 里克特
出版社: 人民邮电出版社
丛编项: 图灵程序设计丛书·微软技术系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: .NET环境
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Jeffrey RicIlter是全球享有盛誉的微软技术专家,著名技术咨询和培训公司Wiritellect创始人之一,MSDN Magazine杂志特邀编辑。多年来,他担任微软各开发团队顾问,参与了微软的许多关键产品包括各版本Witldows、Visual Studio、Microsoft Office和.NET框架的设计和编程。他撰写了一系列著作,包括本书和《Windows核心编程》(第5版·英文版,人民邮电出版社,2008),都堪称技术图书的典范,影响了一代Windows程序员,并因此荣获微软公司社区最高技术荣誉“微软软件传奇人物”《SoftwareLegend)称号。

内容简介

《深入理解.NET》(第2版)(英文版)是.NET 领域的经典著作,深度揭示了.NET 框架的内幕。通过阅读《深入理解.NET》(第2版)(英文版),读者可以掌握.NET 的设计原则,洞悉高效创建高性能应用程序的秘诀。《深入理解.NET》(第2版)(英文版)含有丰富的代码,均采用C# 编写。

图书目录

Part I CLR Basics

1 The CLR’s Execution Model 

 Compiling Source Code into Managed Modules 

 Combining Managed Modules into Assemblies 

 Loading the Common Language Runtime 

 Executing Your Assembly’s Code 

  IL and Verification 

  Unsafe Code 

 The Native Code Generator Tool: NGen.exe 

 Introducing the Framework Class Library 

 The Common Type System 

 The Common Language Specification 

 Interoperability with Unmanaged Code 

2 Building, Packaging, Deploying, and Administering Applications and Types 

 .NET Framework Deployment Goals 

 Building Types into a Module 

  Response Files 

 A Brief Look at Metadata 

 Combining Modules to Form an Assembly 

  Adding Assemblies to a Project by Using the Visual Studio IDE 

  Using the Assembly Linker 

  Including Resource Files in the Assembly 

 Assembly Version Resource Information 

  Version Numbers 

 Culture 

 Simple Application Deployment(Privately Deployed Assemblies) 

 Simple Administrative Control(Configuration) 

3 Shared Assemblies and Strongly Named Assemblies 

 Two Kinds of Assemblies, Two Kinds of Deployment 

 Giving an Assembly a Strong Name 

 The Global Assembly Cache 

  The Internal Structure of the GAC 

 Building an Assembly that References a Strongly Named Assembly 

 Strongly Named Assemblies Are Tamper-Resistant 

 Delayed Signing 

 Privately Deploying Strongly Named Assemblies 

 How the Runtime Resolves Type References 

 Advanced Administrative Control(Configuration) 

  Publisher Policy Control 

Part II Working with Types

4 Type Fundamentals 

 All Types Are Derived from System.Object 

 Casting Between Types 

  Casting with the C# is and as Operators 

 Namespaces and Assemblies 

 How Things Relate at Run Time 

5 Primitive, Reference, and Value Types 

 Programming Language Primitive Types 

  Checked and Unchecked Primitive Type Operations 

 Reference Types and Value Types 

 Boxing and Unboxing Value Types 

 Changing Fields in a Boxed Value Type by Using Interfaces(And Why You Shouldn’t Do This) 

 Object Equality and Identity 

 Object Hash Codes 

Part III Designing Types

6 Type and Member Basics 

 The Different Kinds of Type Members 

 Type Visibility 

  Friend Assemblies 

 Member Accessibility 

 Static Classes 

 Partial Classes, Structures, and Interfaces 

 Components, Polymorphism, and Versioning 

  How the CLR Calls Virtual Methods, Properties, and Events 

  Using Type Visibility and Member Accessibility Intelligently 

  Dealing with Virtual Methods when Versioning Types 

7 Constants and Fields 

 Constants 

 Fields 

8 Methods: Constructors, Operators, Conversions, and Parameters 

 Instance Constructors and Classes(Reference Types) 

 Instance Constructors and Structures(Value Types) 

 Type Constructors 

  Type Constructor Performance 

 Operator Overload Methods 

  Operators and Programming Language Interoperability 

 Conversion Operator Methods 

 Passing Parameters by Reference to a Method 

 Passing a Variable Number of Arguments to a Method 

 Declaring a Method’s Parameter Types 

 Constant Methods and Parameters 

9 Properties 

 Parameterless Properties 

  Defining Properties Intelligently 

 Parameterful Properties 

 The Performance of Calling Property Accessor Methods 

 Property Accessor Accessibility 

 Generic Property Accessor Methods 

10 Events 

 Designing a Type That Exposes an Event 

  Step #1: Define a type that will hold any additional information that should be sent to receivers of the event notification 

  Step #2: Define the event member 

  Step #3: Define a method responsible for raising the event to notify registered objects that the event has occurred 

  Step #4: Define a method that translates the input into the desired event 

 How Events Are Implemented 

 Designing a Type That Listens for an Event 

 Events and Thread Safety 

 Explicitly Controlling Event Registration and Unregistration 

 Designing a Type That Defines Lots of Events 

Part IV Essential Types

11 Chars, Strings, and Working with Text 

12 Enumerated Types and Bit Flags 

13 Arrays 

14 Interfaces 

15 Delegates 

16 Generics 

17 Custom Attributes 

18 Nullable Value Types 

19 Exceptions 

20 Automatic Memory Management(Garbage Collection) 

21 CLR Hosting and AppDomains 

22 Assembly Loading and Reflection 

23 Performing Asynchronous Operations 

24 Thread Synchronization 

Index