1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

a0068 c sharp 4 0 msp clr via c 3rd edition 201 morebook vn 3434

7 2 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề a0068 C Sharp 4 0 MSP CLR Via C# 3rd Edition
Tác giả Jeffrey Richter
Trường học Microsoft Press
Chuyên ngành Computer Science / Programming
Thể loại sách hướng dẫn
Năm xuất bản 2010
Thành phố Redmond
Định dạng
Số trang 7
Dung lượng 9,29 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

29 2 Building, Packaging, Deploying, and Administering Applications and Types.. 87 Part II Designing Types 4 Type Fundamentals.. .102 5 Primitive, Reference, and Value Types.. 113 Progra

Trang 2

PUBLISHED BY

Microsoft Press

A Division of Microsoft Corporation

One Microsoft Way

Redmond, Washington 98052-6399

Copyright © 2010 by Jeffrey Richter

All rights reserved No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher

Library of Congress Control Number: 2009943026

Printed and bound in the United States of America

1 2 3 4 5 6 7 8 9 WCT 5 4 3 2 1 0

A CIP catalogue record for this book is available from the British Library

Microsoft Press books are available through booksellers and distributors worldwide For further infor mation about international editions, contact your local Microsoft Corporation office or contact Microsoft Press International directly at fax (425) 936-7329 Visit our Web site at www.microsoft.com/mspress Send comments to msinput@microsoft.com Microsoft, Microsoft Press, Active Accessibility, Active Directory, ActiveX, Authenticode, DirectX, Excel, IntelliSense, Internet Explorer, MSDN, Outlook, SideShow, Silverlight, SQL Server, Visual Basic, Visual Studio, Win32, Windows, Windows Live, Windows Media, Windows NT, Windows Server and Windows Vista are either registered trademarks

or trademarks of the Microsoft group of companies Other product and company names mentioned herein may be the trademarks of their respective owners

The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred

This book expresses the author’s views and opinions The information contained in this book is provided without any express, statutory, or implied warranties Neither the authors, Microsoft Corporation, nor its resellers, or distributors will

be held liable for any damages caused or alleged to be caused either directly or indirectly by this book

Acquisitions Editor: Ben Ryan

Developmental Editor: Devon Musgrave

Project Editor: Valerie Woolley

Editorial Production: Custom Editorial Productions, Inc

Technical Reviewer: Christophe Nasarre; Technical Review services provided by Content Master, a member of CM Group, Ltd

Cover: Tom Draper Design

Body Part No X16-61995

Trang 3

Table of Contents

Foreward xiii

Introduction xv

Part I CLR Basics 1 The CLR’s Execution Model 1

Compiling Source Code into Managed Modules 1

Combining Managed Modules into Assemblies 5

Loading the Common Language Runtime 6

Executing Your Assembly’s Code 9

IL and Verification 15

Unsafe Code 16

The Native Code Generator Tool: NGen exe 18

The Framework Class Library 20

The Common Type System 22

The Common Language Specification 25

Interoperability with Unmanaged Code 29

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

NET Framework Deployment Goals 32

Building Types into a Module 33

Response Files 34

A Brief Look at Metadata 36

Combining Modules to Form an Assembly 43

Adding Assemblies to a Project by Using the Visual Studio IDE 49

Using the Assembly Linker 50

Adding Resource Files to an Assembly 52

Assembly Version Resource Information 53

Version Numbers 57

Culture 58

Simple Application Deployment (Privately Deployed Assemblies) 59

Simple Administrative Control (Configuration) 61

Microsoft is interested in hearing your feedback so we can continually improve our books and learning resources for you To participate in a brief online survey, please visit:

www.microsoft.com/learning/booksurvey/ What do you think of this book? We want to hear from you!

Trang 4

iv Table of Contents

3 Shared Assemblies and Strongly Named Assemblies 65

Two Kinds of Assemblies, Two Kinds of Deployment 66

Giving an Assembly a Strong Name 67

The Global Assembly Cache 73

Building an Assembly That References a Strongly Named Assembly 75

Strongly Named Assemblies Are Tamper-Resistant 76

Delayed Signing .77

Privately Deploying Strongly Named Assemblies 80

How the Runtime Resolves Type References 81

Advanced Administrative Control (Configuration) 84

Publisher Policy Control 87

Part II Designing Types 4 Type Fundamentals 91

All Types Are Derived from System.Object 91

Casting Between Types 93

Casting with the C# is and as Operators 95

Namespaces and Assemblies 97

How Things Relate at Runtime 102

5 Primitive, Reference, and Value Types 113

Programming Language Primitive Types 113

Checked and Unchecked Primitive Type Operations 117

Reference Types and Value Types 121

Boxing and Unboxing Value Types 127

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

Object Equality and Identity 143

Object Hash Codes 146

The dynamic Primitive Type 148

6 Type and Member Basics 155

The Different Kinds of Type Members 155

Type Visibility 158

Friend Assemblies 159

Member Accessibility 160

Static Classes 162

Partial Classes, Structures, and Interfaces .164

Components, Polymorphism, and Versioning 165

How the CLR Calls Virtual Methods, Properties, and Events 167

Using Type Visibility and Member Accessibility Intelligently .172

Dealing with Virtual Methods When Versioning Types 175

7 Constants and Fields 181

Constants 181

Fields 183

Trang 5

Table of Contents v

8 Methods 187

Instance Constructors and Classes (Reference Types) 187

Instance Constructors and Structures (Value Types) .191

Type Constructors 194

Type Constructor Performance 198

Operator Overload Methods 200

Operators and Programming Language Interoperability 203

Conversion Operator Methods 204

Extension Methods 207

Rules and Guidelines 210

Extending Various Types with Extension Methods 211

The Extension Attribute 213

Partial Methods 213

Rules and Guidelines 216

9 Parameters 219

Optional and Named Parameters 219

Rules and Guidelines 220

The DefaultParameterValue and Optional Attributes 222

Implicitly Typed Local Variables 223

Passing Parameters by Reference to a Method 225

Passing a Variable Number of Arguments to a Method 231

Parameter and Return Type Guidelines .233

Const-ness 235

10 Properties 237

Parameterless Properties 237

Automatically Implemented Properties 241

Defining Properties Intelligently 242

Object and Collection Initializers 245

Anonymous Types 247

The System.Tuple Type 250

Parameterful Properties .252

The Performance of Calling Property Accessor Methods 257

Property Accessor Accessibility 258

Generic Property Accessor Methods 258

11 Events 259

Designing a Type That Exposes an Event 260

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

Step #2: Define the event member .262

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

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

How the Compiler Implements an Event 266

Trang 6

If you like the book you’ll love the training

WINTELLECT TRAINING COURSES BY JEFFREY RICHTER

Mastering the NET Framework

Syllabus

Day 1

Day 2

Day 3

Day 4

Day 5

Duration and Format: 5 Day On-Site/ 3 Day On-Site/ Virtual

• Introduction to the NET Framework, Motivating its Use, and its Core Technologies

• The NET Framework’s Development Platform’s Architecture

• Building, Deploying, Versioning, and Administering Applications and Components

• Type Fundamentals (Type-safety, Value and Reference types, boxing)

• Type Members

• Essential Types

• Working with Text (characters, strings, encodings, cultures, formatting, parsing)

• Generics (types, methods, interfaces, verifi ability and constraints, collections)

• Exception Handling and State Management

• Automatic Memory Management

• Language Enhancements (Iterators, LINQ , Dynamic)

• Streams and Serialization (Stream composability, Binary, Soap, and XML serialization)

• Building Dynamically-Extensible Applications (AppDomains, Assemblies, Refl ection)

• Interoperating with Unmanaged Code (COM and P/Invoke)

To learn more about Wintellect training offerings visit www.wintellect.com

• Introduction to the NET Framework, Motivating its Use, and its Core Technologies

• Building, Deploying, Versioning, and Administering Applications and Components

• Working with Text (characters, strings, encodings, cultures, formatting, parsing)

• Streams and Serialization (Stream composability, Binary, Soap, and XML serialization)

• Building Dynamically-Extensible Applications (AppDomains, Assemblies, Refl ection)

Effective Threading in C#: Mastering Responsive, Reliable and Scalable Applications

Day 1

Day 2

• Introduction, CPU industry trends

• Thread creation/destruction, overhead, scheduling and priorities

• Tools for monitoring and debugging threads

• Reasons to use threads and why

• Performing asynchronous compute-bound operations using the CLR’s thread pool, Timers,

and Tasks (new in NET 4.0)

• Performing asynchronous I/O-bound operations using the CLR’s Asynchronous Programming

Model

• Using special language features (anonymous methods, lambda expressions, and iterators)

to make asynchronous programming easier

Duration and Format: 2 Day On-Site/ Virtual

Syllabus

• Performing asynchronous I/O-bound operations using the Event-based Asynchronous

Programming Model

• Primitive (user-mode and kernel-mode) thread synchronization constructs including

volatile fi elds, interlocked methods, SpinLocks

• Hybrid thread synchronization constructs including mutual exclusive locks, reader-writer

locks, new NET 4.0 locks

• Comparing the behavior and performance of locks

• How locks work internally and how to modify a lock’s behavior

• The ReaderWriterGate: A lock that doesn’t block any threads

Trang 7

Stay in touch!

To subscribe to the Microsoft Press® Book Connection Newsletter—for news on upcoming

books, events, and special offers—please visit:

What do

you think of

this book?

We want to hear from you!

To participate in a brief online survey, please visit:

Tell us how well this book meets your needs —what works effectively, and what we can

do better Your feedback will help us continually improve our books and learning

resources for you

Thank you in advance for your input !

microsoft.com/learning/booksurvey

microsoft.com/learning/books/newsletter

Ngày đăng: 04/12/2022, 15:06

🧩 Sản phẩm bạn có thể quan tâm