Microsoft.NET框架程序设计:英文版

Microsoft.NET框架程序设计:英文版
作 者: Jeffrey Richter
出版社: 机械工业出版社
丛编项: 微软 NET经典原版系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: .NET
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  JeffreyRichterJeffreyRichter是一位在全球享有盛誉的技术作家,尤其在Windows/.NET领域有着杰出的贡献。他的第一本Windows著作Windows3:ADeveloper'sGuide大获好评,从而声名远扬。之后,他又推出了经典著作《Windows高级编程指南》和《Windows核心编程》。如今这两本书早已成为Windows程序设计领域的颠峰之作,培育了几代软件开发设计人员。他的每一本新作问世,我们都有理由相信这是一本巨著,我们想要的一切尽在其中。Jeffery是Wintellect公司的创始人之一,也是MSDN杂志.NET专栏的特邀编辑。现在他正领导开发该公司的.NET程序设计课程,向大众推广.NET技术。因为他自1999年开始就参与了微软.NET框架开发组的咨询工作,与这些一线人员一起经历了.NET的孕育与诞生,所以他对.NET思想的领悟、对.NET的细节熟稔,是其他任何作家难以企及的。他是.NET著作领域中当之无愧的一面旗帜。>>更多作品

内容简介

聆听专家指导,决胜.NET框架开发开发人员使用Microsoft.NET框架可以快速地创建健壮、安全的ASP.NET Web Forms和XML Web服务应用程序以及Windows Forms程序、工具和类型。 本书出自Windows开发界公认的大师之手,详细讲述了.NET框架的核心一CLR、可扩展类型系统CTS和类库FCL,并探讨了运行时环境如何管理类型行为,程序如何操纵类型等等重要主题。虽然是围绕C#讲解的,但是书中的概念完全适用于其他.NET语言。本书涵盖的主题包括:◆.NET框架的体系结构 ◆创建、部署和管理应用程序及类型◆创建和部署共享配件 ◆类型基础◆基本类型引用类型和值类型 ◆对象通用的操作 ◆类型成员和可访问性 常量,字段,方法,性质(property)和事件◆文本处理 ◆枚举类型和位标志◆数组类型 ◆接口 ◆自定义属性(attribute) ◆委托 ◆使用异常进行错误处理 ◆自动内存管理◆AppDomain和反射

图书目录

Acknowledgments

Introduction

Part I Basics of the Microsoft.NET Framework

1 The Architechiture of the .NET Framework Development Platform

Gompiling Source Gode into Managed Modules

Combining Managed Modules into Assemblies

Loading the Common Language Runtime

Executing Your Assembly's Gode

IL and Verification

The .NET 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

Combining Modules to Form an Assembly

Adding Assemblies to a Rroject Using the Visual Studio .NET IDE

Using the Assembiy Linker

Including Resource Files in the Assembly

Assembly Version Resource Information

Version Numbers

Culture

Simple Application Deployment (Privately Deployed Assemblies)

Simple Administrative Control (Contiguration)

3 Shared 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

Delaynd Signing

Privately Deploying Strongly Named Assemblies

Side-by-Side Execution

How the Runtime Resolves Type References

Advanced Administrative Control (Configuration)

Publisher Policy Control

Repairing a Faulty Application

Part II Working with Types and the Common Language Runtime

4 type Fundamentals

AII Types Are Derived from System. Object

Casting Between Types

Casting with the C# is and as Operators

Namespaces and Assemblies

5 Primitive, Reference, and Valve Types

Programming Language Primitive Types

Checked and Unchecked Primitive Type Operations

Reference Types and Values Types

Boxing and Unboxing Value Types

6 Common Object Operations

Object Equality and Identity

Implementing Equals for a Reference Type Whose Base Classes

Don't Override Object's Equals

Lmplementing Equals for a Reference Type When One or More of

Its Base Classes Overrides Object's Equals

Implementing Equals for a Value Type

Summary of Implementing Equals and the ==/1=Operators

Identity

Object Hash Codes

Object Cloning

Part III Designing Types

7 Type Members and Their Accessibility

Type Members

Accessibility Modifiers and Predefined Attributes

Type Predefined Attributes

Field Predefined Attributes

Method Predefined Attributes

8 Constants and Fields

Constants

Fields

9 Methods

Instance Constructors

Type Constructors

Operator Overload Methods

Operators and Programming Language Interoperability

Conversion Operator Methods

Passing Parameters by Reference to a Method

Passing a Variable Number of Parameters to a Method

How Virtual Methods Are Called

Virtual Method Versioning

10 Properties

Parameterless Properties

Parameterful Properties

11 Events

Designing a Type That Exposes an Event

Designing a Type That Listens for an Event

Explicitly Controlling Event Registration

Designing a Type That Defines Lots of Events

Designing the EventHandlerSet Type

Part IV Essential Types

12 Working with Text

Characters

The System.String Type

Constructing Strings

Strings Are Immutable

Gomparing Strings

String Interning

String Pooling

Examining a String's Characters

Other String Operations

Dynamically Constructing a String Efficiently

Constructing a StringBullder Object

StringBulIder'S Members

Obtaining a String Representation for an Object

Specific Formats and Cultures

Formatting Multiple Objects into a Single String

Providing Your Own Gustom Formatter

Parsing a String to Obtain an Object

Encodings: Converting Between Characters and Bytes

Encoding/Decoding Streams of Characters and Bytes

Base-64 String Encoding and Decoding

13 Enumerated Types and Bit Flags

Enumerated Types

Bit Flags

14 Arrays

AII Arrays Are Implicitly Derived from System.Array

Casting Arrays

Passing and Returning Arrays

Creating Arrays That Have a Nonzero Lower Bound

Fast Array Access

Redimensioning an Array

15 Interfaces

Interfaces and Inheritance

Designing an Application That Supports Plug-In Components

Changing Fields in a Boxed Value Type Using Interfaces

Implementing Multiple Interfaces That Have the Same Method

Explicit Interface Member Implementations

16 Custom Attributes

Using Custom Attributes

Defining Your Own Attribute

Attribute Constructor and Field/Property Data Types

Detecting the Use of a Custom Attribute

Matching Two Attribute Instances Against Each Other

Pseudo-Custom Attributes

17 Delegates

A First Look at Delegates

Using Delegates to Call Back Static Methods

Using Delegates to Call Back Instance Methods

Demystifying Delegates

Some Delegate History: System.Delegate and System.MulticastDelegate

Gomparing Delegates for Equality

Delegate Chains

C#s Support for Delegate Chains

Having More Control over Invoking a Delegate Chain

Delegates and Reflection

Part V Managing Types

18 Exceptions

The Evolution of Exception Handling

The Mechanics of Exception Handling

The try Block

The catch Block

The finally Block

What Exactly Is an Exception?

The System. Exception Class

FCL-Detined Exception Classes

Defining Your Own Exception Class

How to Use Exceptions Properly

You Can't Have Too Many finally Blocks

Don't Catch Everything

Gracefully Recovering from an Exception

Backing Out ot a Panially Completed Operation When an

Unrecoverable Exception Occurs

Hiding an Implemeniation Detail

What's Wrong with the FCL

Performance Considerations

Catch Filters

Unhandled Exceptions

Controlling What the CLR Does When an Unhandled Exception Occurs

Unhandled Exceptions and Windows Forms

Unhandled Exceptions and ASP.NET Web Forms

Unhandled Exceptions and ASP.NET XML Web Services

Exception Stack Traces

Remoting Stack Traces

Debugging Exceptions

Telling Visual Studio wnat Kind ot Code to Debug

19 Automatic Memory Management (Garbage Collection)

Understanding the Basics of Working in a Garbage-Gollected Plafform

The Garbage Collection Algorithm

Finalization

What Causes Finalize Methods to Get Called

Finalization Internals

The Dispose Pattern: Forcing an Object to Clean Up

Using a Type That Implements the Dispose Pattern

C#'s using Statement

An Interesting Dependency Issue

Weak References

Weak Reference Internals

Resurrnction

Designing an Object Pool Using Resurrection

Generations

Programmatic Gontrol of the Garbage Collector

Other Garbage Collector Performance Issues

Synchronization-Free Allocations

Scalable Parallel Collections

Concurrent Collections

Large Objects

Monitoring Garbage Collections

20 CLR Hosting, AppDomains, and Reflection

Metadata: The Gornerstone of the .NET Framework

CLR Hosting

AppDomains

Aocessing Objects Across AppDomain Boundaries

AppDomain Events

Applications and How They Host the CLR and Manage AppDomains

“Yukon”

The Gist of Reflection

Reflecting Over an Assembly's Types

Reflecting Over an AppDomain's Assemblies

Reflecting Over a Type's Members: Binding

Explicitly Loading Assemblies

Loading Assemblies as "Data Files"

Building a Hierarchy of Exception-Derived Types

Explicitly Unloading Assemblies: Unloading an AppDomain

Obtaining a Reference to a System.Type Object

Reflecting Over a Type's Members

Creating an Instance of a Type

Calling a Type's Method

Bind Once, Invoke Multiple Times

Reflecting Over a Type's Interfaces

Reflection Performance

Index