Programming in the .NET Environment
Damien Watkins
Mark Hammond
Brad Abrams

ISBN-10: 0201770180
ISBN-13: 9780201770186

Publisher: Addison-Wesley Professional
Copyright: 2003
Format: Paper; 560 pp
Available on Demand

Suggested retail price: $49.99
Buy from myPearsonStore

An authoritative guide for students that need to develop software that takes full advantage of the .NET Framework. This book shows students how to produce generic frameworks, libraries, classes, and tools to be used in the .NET Framework. It also shows how to use the right language to develop parts of a system and then incorporate these parts together at runtime regardless of language differences. The book concludes with a series of appendices.

The authoritative guide for developers who want to develop software that fully takes advantage of the .NET Framework.

° One of the first books in The Microsoft .NET Development Series, direct from Microsoft

° Well-known and influential author team. Microsoft has sent Damien on a worldwide speaking tour.

° Not only describes the goals and architecture of the .NET Framework, but also demonstrates how it implements facilities and services to meet these goals.

(NOTE: Each chapter concludes with a Summary.)

Foreword.


Preface.


1. Introducing the .NET Framework.

Programming Issues.

Programming in the Small.

Programming in the Large.

Solutions.

Comparing the .NET Framework and IDL-Based Systems.

Elements of the .NET Framework.

Common Language Runtime.

Base Framework.

Exposing the .NET Framework.

Windows Clients.

ASP.NET: Web Forms.

ASP.NET: Web Services.

Terminology.

The Type System.

The Metadata System.

The Execution System.

Example: Hello World.



2. The Type System.

The Relationship Between Programming Languages and Type Systems.

The Evolution of Type Systems.

Programming Language-Specific Type Systems.

The Design Challenge: Development of a Single Type System for Multiple Languages.

CLR-Programming Language Interaction: An Overview.

Elements of the CLR Type System.

Value Types.

Built-in Value Types.

User-Defined Value Types.

Reference Types.

Object Types.

Interface Types.

Pointer Types.

Example: User-Defined Object Type.

Example: Use of Interfaces on Value Types.

Assignment Compatibility.

Nested Types.

Visibility.

Accessibility.



3. The Metadata System.

Medata Issues.

Saving Metadata About Types: IDL Files.

Reflection: Inspection of a Type's Metadata.

Reflection Classes.

Example: Using Reflection.

Example: Use of Type as an Abstract Type.

Metadata Tools and Extensions.

A Tool for Reading Metadata.

Metadata Extensibility.

Dynamic Discovery of Types.

Assemblies and Manifests.

Meta-Programming.

Metadata File Format.

COM Interop.



4. The Execution System.

The Execution System Versus Other—Component Models.

Intermediate Language.

Example: Generating Intermediate Language.

Verification of Intermediate Language.

Starting a CLR Program.

COR Debugger.

Application Domains.

Memory Management.

Value Types Versus Reference Types.

Garbage Collection.

Security.

Role-Based Security.

Evidence-Based Security.

Policy Manager.

Code Groups.

Named Permission Sets.

Policy Assemblies.

Examining Policy Levels and Permission Sets.

Stack Walks.

Declarative and Imperative Style.



5. Building Applications.

Existing Technologies to Solve Application-Related Problems.

Well-Known Locations.

Search Paths.

Symbolic Names.

Versioning-Related Technologies.

Windows Registry.

Assemblies.

Example: A Simple Assembly.

Version 1 of AboutBox.

Building the Assembly with nmake and makefile.

Functioning of the makefile.

Embedded and Linked Resources.

Example: A .NET Assembly with Embedded Resources.

Example: A .NET Assembly with Linked Resources.

The Assembly Linker.

Public and Private Assemblies.

Strong Names.

Assembly Caches.

Example: Creating and Using Public Assemblies.

Assembly Versioning.

Example: Building a Second Version of an Assembly.

Example: Binding to a Different Version of an Assembly.

Internalization and Localization.

Definitions.

Existing Technologies: Separation of Code and User Interfaces.

.NET Localization Concepts.

Example: A Localized Application.

Application Domains.

Application Domains Versus Processes.

Use of Application Domains.

Example: Retrieving Current Application Domain Information.

Example: Creating and Manipulating Application Domains.

Example: Loading Assemblies into Application Domains.



6. Deploying Applications.

Configuration Files.

Text-Based Configuration Files.

CLR Configuration Files.

Which Configuration Files to Use?

Downloading Web Content.

Referencing Assemblies with the codeBase Element.

The Download Cache Revisited.

Web Controls.

Installing Applications.

Copying Files to the Computer.

Downloading Files to the Computer.

Using Traditional Installation Programs.

Installing the .NET Framework.

The ECMA CLI Standards.

Compact Framework.

Smart Device Extensions.

Shared Source Common Language Infrastructure.



7. The Framework Class Library.

A Historical Perspective.

C/C++.

SmallTalk.

LISP.

C++.

Java.

Support for Multiple Programming Languages.

Goals of the .NET Framework.

Unify Programming Models.

Be Factored and Extensible.

Integrate with Web Standards and Practices.

Make Development Simpler.

Design Guidelines.

Naming Guidelines.

Member Usage.

Namespaces.

System.

System.Collections.

System.Data.

System.Globalization.

System.Resources.

System.IO.

System.Net.

System.Reflection.

System.Security.

System.Text.

System.Threading.

System.Runtime.InteropServices.

System.Windows.Forms.

System.Web.

System.Web.Services.

System.Xml.

Looking Back and Looking Ahead.



Appendix A: Visual Basic .NET.

Type System Additions.

Classes.

Inheritance.

Overloading.

Namespaces.

Type System Modifications.

Arrays.

Variant and Object Types.

Structures.

Date, Currency, and Decimal Types.

Platform Changes.

Deterministic Finalization and Garbage Collection.

Let and Set Assignment.

Late Binding.

On Error and Structured Exception Handling.

Events and Delegates.

Language Cleanup.

New Features.

Future Directions.

Conclusions.



Appendix B: C#.

History and Design Goals.

A Brief History of C++ and C#.

C# Design Goals.

The C# Type System.

Reference Versus Value Types.

User-Defined Types.

Component-Oriented Development.

Properties.

Indexers.

Operator Overloading.

Attributes.

Delegates.

Events.

Unsafe Code.

Advanced Interoperability.

Dealing with Existing Structures.

Performance Extremes.

Neat Things.

foreach.

switch on String.

params Arrays.

XML Comments.

A Stack Component Example.

Future Directions.

C# and Standardization.

Conclusions.



Appendix C: Python for .NET.

A Brief Overview of Python.

About Python.

Python Implementations.

Terminology.

Python for .NET.

Current Status.

Architecture.

Using Python for .NET.

Example: Hello World.

Using .NET Objects.

Method Signatures and Overloads.

Other Examples of Compiler Techniques.

Limitations of Python for .NET.

Performance.

Closed World Syndrome.

Class and Instance Semantics.

Type Declarations or Inference for Speed.

Type Declarations for Semantics.

Possible .NET and Python Enhancements.

Type Declarations.

Dynamic Language Support.

Alternative Implementation Strategies.

Python for .NET.

The Compiler.

The Runtime.

The Library.

Conclusions.



Appendix D: Perl and the .NET Runtime.

Perl for .NET Research Compiler.

The Parser.

The Code Generator.

The Runtime Library.

PerlNET Component Builder.

Interface with Standard Perl Interpreter.

Challenges.

Supported .NET Features.

PerlNET Status.

Example: A Windows Forms Application.

Conclusions.



Appendix E: Component Pascal on the CLR.

About Component Pascal.

The Type System.

Statements.

Module Structure.

Mapping to the CLR.

Mapping the Program Structure.

The Synthetic Static Class.

Controlling Visibility.

Mapping the Type System.

Static Record Types.

Dispatched Methods.

Semantic Challenges.

Nonlocal Addressing.

Structural Compatibility of Delegates.

Covariant Function Types.

Conclusions.

Compatibility Extensions.

Performance.

Notes.



Appendix F: Hotdog: Compiling Scheme to Object-Oriented Virtual Machines.

Introduction to the Hotdog Scheme Compiler.

Scheme, Briefly.

Object-Oriented Virtual Machines.

Implementations.

Closures.

Small Values.

Dynamic Type Checking.

Limitations.

Performance Improvements.

Conclusions.

References.



Appendix G: Functional Languages for the .NET Framework.

A Brief Introduction to Mondrian.

The Type System.

Exception Handling.

Concurrency Support.

The Syntax.

Types in Mondrian.

Primitive Types.

Type Products.

Type Unions.

Parametric Types.

Functions in Mondrian.

Monomorphic Functions.

Polymorphic Functions.

Partial Applications.

Just-in-Time Evaluation.

Calling Other CLR-Hosted Languages.

The Power of .NET: A Multilanguage Example.

The Sieve of Eratosthenes in C#.

The Sieve: Combining Mondrian and C#.

A Glimpse into the Future: Improving the Interface.

Conclusions.

References.



Appendix H: Active Oberon for .NET: A Case Study in Language Model Mapping.

History of the ETH Programming Languages.

The Active Object System.

An Extended Concept of Object Types.

A Unified Concept of Abstractions.

A Concept of Static Modules.

The Mapping to the Common Type System.

Recapitulation of the .NET Interoperability Framework.

Mapping Modules.

Mapping Definitions.

Interoperability.

Mapping Active Behavior.

Language Fitting.

Summary and Conclusions.

Acknowledgments.

References.



Glossary.


Suggested Reading List.


Index. 0201770180T10292002

Damien Watkins is the founder of Project 42, a consulting company specializing in the development of Component Based Systems for the Internet. Until 2002 he was a lecturer at Monash University in Melbourne, Australia. Damien became involved with the development of the .NET Framework in 1998 when Microsoft invited Monash University to join Project 7, an early access program for .NET.

Mark Hammond has been an independent software consultant since 1995. He has produced many of the Windows extensions for Python, including PythonWin, Active Scripting and Active Debugging support, and coauthored the Python/COM framework and extensions. In 2000 he published his first book, Python Programming on Win32, and from 1999 through 2001 developed the first .NET implementation of the Python language.

Brad Abrams was a founding member of both the Common Language Runtime and .NET Framework teams at Microsoft, where he is currently a Lead Program Manager. Brad has been involved with WinFX and Windows Vista efforts from the beginning. His primary role is to ensure consistency and developer productivity of the .NET Framework through Vista and beyond. His popular blog can be found at http://blogs.msdn.com/BradA/.



Programming in the .NET Environment is the software developer's guide to the .NET Framework. The authors describe Microsoft's vision for distributed component-based systems development and then show programmers how to develop software that takes full advantage of the features of the .NET Framework. Readers learn how to author components, libraries, and frameworks that not only exploit the capabilities of the .NET Framework but also integrate seamlessly into that environment.

This book begins with an introduction to the goals and architecture of the .NET Framework. Readers will then gain a thorough understanding of the type, metadata, and execution systems; learn how to build and deploy their components within .NET assemblies; and gain an understanding of the facilities of the Framework Class Libraries.

Topic coverage includes:

  • The Common Language Runtime (CLR) and the Framework Class Libraries
  • The CLR's Type, Metadata, and Execution Systems
  • Creating and deploying .NET Assemblies
  • Internationalization and localization facilities
  • .NET Languages, including C# and Visual Basic .NET

The book concludes with appendixes written by other specialists in the field: Paul Vick (writing about VB .NET), Eric Gunnerson (on C#), Mark Hammond (on Python for .NET), Jan Dubois (on Perl for .NET), John Gough (on Component Pascal for .NET), Pankaj Surana (on Scheme for .NET), Nigel Perry (on Mondrian), and Juerg Gutknecht (on Active Oberon for .NET).

Written by a team of experienced authors using a practical, authoritative approach, Programming in the .NET Environment is an indispensable guide to developing components that fulfill the promise of Microsoft's .NET Framework.

Books in the Microsoft .NET Development Series are written and reviewed by the principal authorities and pioneering developers of the Microsoft .NET technologies, including the Microsoft .NET development team and DevelopMentor. Books in the Microsoft .NET Development Series focus on the design, architecture, and implementation of the Microsoft .NET initiative to empower developers and students everywhere with the knowledge they need to thrive in the Microsoft .NET revolution.



0201770180B10312002

View a Sample Chapter PDF: /samplechapter/0201770180.pdf

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.

This title is a member of the Microsoft .NET Development Series, which also contains the titles below . You can also visit the Microsoft .NET Development Series page.

  • 0321288661.NET Class Libraries Reference Poster
    Abrams
    © 2004 | Addison-Wesley Professional | Paper; 2 pages | Instock
    ISBN-10: 0321288661 | ISBN-13: 9780321288660
    Buy from myPearsonStore

  • 0321174038.NET Compact Framework Programming with C#
    Yao & Durant
    © 2004 | Addison-Wesley Professional | Paper; 1424 pages | Instock
    ISBN-10: 0321174038 | ISBN-13: 9780321174031
    Brief Description

  • 0321174046.NET Compact Framework Programming with Visual Basic .NET
    Yao & Durant
    © 2004 | Addison-Wesley Professional | Paper; 1424 pages | Instock
    ISBN-10: 0321174046 | ISBN-13: 9780321174048
    Brief Description | Buy from myPearsonStore

  • 0321350170The .NET Developer's Guide to Directory Services Programming
    Kaplan & Dunn
    © 2006 | Addison-Wesley Professional | Paper; 512 pages | Instock
    ISBN-10: 0321350170 | ISBN-13: 9780321350176
    Buy from myPearsonStore

  • 0321228359The .NET Developer's Guide to Windows Security
    Brown
    © 2005 | Addison-Wesley Professional | Paper; 408 pages | Instock
    ISBN-10: 0321228359 | ISBN-13: 9780321228352
    Brief Description | Buy from myPearsonStore

  • 0321154894.NET Framework Standard Library Annotated Reference, Volume 1: Base Class Library and Extended Numerics Library
    Abrams
    © 2004 | Addison-Wesley Professional | Cloth; 560 pages | Out of Stock
    ISBN-10: 0321154894 | ISBN-13: 9780321154897


  • 0321194454.NET Framework Standard Library Annotated Reference, Volume 2: Networking Library, Reflection Library, and XML Library
    Abrams & Abrams
    © 2006 | Addison-Wesley Professional | Cloth Bound w/CD-ROM; 512 pages | Instock
    ISBN-10: 0321194454 | ISBN-13: 9780321194459
    Buy from myPearsonStore

  • 0321341384.NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications
    Smith-Ferrier
    © 2007 | Addison-Wesley Professional | Paper; 672 pages | Instock
    ISBN-10: 0321341384 | ISBN-13: 9780321341389
    Buy from myPearsonStore

  • 0321247124ADO.NET and System.Xml v. 2.0--The Beta Version, 2/E
    Homer, Sussman & Fussell
    © 2005 | Addison-Wesley Professional | Paper; 560 pages | Instock
    ISBN-10: 0321247124 | ISBN-13: 9780321247124
    Brief Description | Buy from myPearsonStore

  • 0321418344ASP.NET 2.0 Illustrated
    Homer & Sussman
    © 2006 | Addison-Wesley Professional | Paper; 800 pages | Instock
    ISBN-10: 0321418344 | ISBN-13: 9780321418340
    Brief Description | Buy from myPearsonStore

  • 0321334434The C# Programming Language, 2/E
    Hejlsberg, Wiltamuth & Golde
    © 2006 | Addison-Wesley Professional | Cloth; 720 pages | Instock
    ISBN-10: 0321334434 | ISBN-13: 9780321334435
    Buy from myPearsonStore

  • 0321154932The Common Language Infrastructure Annotated Standard
    Miller & Ragsdale
    © 2004 | Addison-Wesley Professional | Paper; 928 pages | Estimated Availability: 10/23/2003
    ISBN-10: 0321154932 | ISBN-13: 9780321154934
    Brief Description | Buy from myPearsonStore

  • 032143482XConcurrent Programming on Windows
    Duffy
    © 2009 | Addison-Wesley Professional | Paper; 1008 pages | Instock
    ISBN-10: 032143482X | ISBN-13: 9780321434821
    Buy from myPearsonStore

  • 032126892XData Binding with Windows Forms 2.0: Programming Smart Client Data Applications with .NET
    Noyes
    © 2006 | Addison-Wesley Professional | Paper; 736 pages | Instock
    ISBN-10: 032126892X | ISBN-13: 9780321268921
    Buy from myPearsonStore

  • 0321410599Designing Forms for Microsoft Office InfoPath and Forms Services 2007
    Roberts & Green
    © 2007 | Addison-Wesley Professional | Paper; 1296 pages | Instock
    ISBN-10: 0321410599 | ISBN-13: 9780321410597
    Buy from myPearsonStore

  • 0321382188Developer's Guide to SQL Server 2005, A
    Beauchemin & Sullivan
    © 2006 | Addison-Wesley Professional | Paper; 1088 pages | Instock
    ISBN-10: 0321382188 | ISBN-13: 9780321382184
    Buy from myPearsonStore

  • 0321398203Domain-Specific Development with Visual Studio DSL Tools
    Cook, Jones, Kent & Wills
    © 2007 | Addison-Wesley Professional | Paper; 576 pages | Instock
    ISBN-10: 0321398203 | ISBN-13: 9780321398208
    Buy from myPearsonStore

  • 032124673XEnterprise Services with the .NET Framework: Developing Distributed Business Solutions with .NET Enterprise Services
    Nagel
    © 2005 | Addison-Wesley Professional | Paper; 576 pages | Instock
    ISBN-10: 032124673X | ISBN-13: 9780321246738
    Brief Description | Buy from myPearsonStore

  • 0321237706Essential ASP.NET 2.0, 2/E
    Onion & Brown
    © 2007 | Addison-Wesley Professional | Paper; 384 pages | Instock
    ISBN-10: 0321237706 | ISBN-13: 9780321237705
    Brief Description | Buy from myPearsonStore

  • 0321150775Essential C# 2.0
    Michaelis
    © 2006 | Addison-Wesley Professional | Paper; 768 pages | Instock
    ISBN-10: 0321150775 | ISBN-13: 9780321150776
    Buy from myPearsonStore

  • 0321440064Essential Windows Communication Foundation (WCF): For .NET Framework 3.5
    Resnick, Crane & Bowen
    © 2008 | Addison-Wesley Professional | Paper; 608 pages | Instock
    ISBN-10: 0321440064 | ISBN-13: 9780321440068
    Buy from myPearsonStore

  • 0321374479Essential Windows Presentation Foundation (WPF)
    Anderson
    © 2007 | Addison-Wesley Professional | Paper; 512 pages | Instock
    ISBN-10: 0321374479 | ISBN-13: 9780321374479
    Buy from myPearsonStore

  • 0321399838Essential Windows Workflow Foundation
    Shukla & Schmidt
    © 2007 | Addison-Wesley Professional | Paper; 480 pages | Instock
    ISBN-10: 0321399838 | ISBN-13: 9780321399830
    Buy from myPearsonStore

  • 0321180593First Look at SQL Server 2005 for Developers, A
    Beauchemin, Berglund & Sullivan
    © 2004 | Addison-Wesley Professional | Paper; 736 pages | Out of Stock
    ISBN-10: 0321180593 | ISBN-13: 9780321180599
    Brief Description

  • 0321545613Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2/E
    Cwalina & Abrams
    © 2009 | Addison-Wesley Professional | Hardcover with DVD; 480 pages | Instock
    ISBN-10: 0321545613 | ISBN-13: 9780321545619
    Buy from myPearsonStore

  • 0321246756Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
    Cwalina & Abrams
    © 2006 | Addison-Wesley Professional | Hardcover with DVD; 384 pages | Estimated Availability: 08/31/2007
    ISBN-10: 0321246756 | ISBN-13: 9780321246752
    Brief Description

  • 0321578813Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, Safari
    Cwalina & Abrams
    © 2006 | Addison-Wesley Professional | On-line Supplement; 384 pages | Instock
    ISBN-10: 0321578813 | ISBN-13: 9780321578815
    URL: http://www.safari.informit.com


  • 0321160770Graphics Programming with GDI+
    Chand
    © 2004 | Addison-Wesley Professional | Paper; 784 pages | Instock
    ISBN-10: 0321160770 | ISBN-13: 9780321160775
    Brief Description | Buy from myPearsonStore

  • 0201770180Programming in the .NET Environment
    Watkins, Hammond & Abrams
    © 2003 | Addison-Wesley Professional | Paper; 560 pages | Estimated Availability: 11/06/2002
    ISBN-10: 0201770180 | ISBN-13: 9780201770186
    Brief Description | Buy from myPearsonStore

  • 0321278720Software Engineering with Microsoft Visual Studio Team System
    Guckenheimer & Perez
    © 2006 | Addison-Wesley Professional | Paper; 304 pages | Instock
    ISBN-10: 0321278720 | ISBN-13: 9780321278722
    Brief Description | Buy from myPearsonStore

  • 0321562992The C# Programming Language, 3/E
    Hejlsberg, Torgersen, Wiltamuth & Golde
    © 2009 | Addison-Wesley Professional | Paper; 784 pages | Instock
    ISBN-10: 0321562992 | ISBN-13: 9780321562999
    Buy from myPearsonStore

  • 0321592271The C# Programming Language, Safari, 3/E
    Hejlsberg, Torgersen, Wiltamuth & Golde
    © 2009 | Addison-Wesley Professional | On-line Supplement; 784 pages | Instock
    ISBN-10: 0321592271 | ISBN-13: 9780321592279
    URL: http://safari.informit.com


  • 0321169514The Visual Basic .NET Programming Language
    Vick
    © 2004 | Addison-Wesley Professional | Paper; 432 pages | Instock
    ISBN-10: 0321169514 | ISBN-13: 9780321169518
    Brief Description | Buy from myPearsonStore

  • 0321334884Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath
    Carter & Lippert
    © 2006 | Addison-Wesley Professional | Paper; 1008 pages | Instock
    ISBN-10: 0321334884 | ISBN-13: 9780321334886
    Brief Description | Buy from myPearsonStore

  • 0321267966Windows Forms 2.0 Programming, 2/E
    Sells & Weinhardt
    © 2006 | Addison-Wesley Professional | Paper; 1296 pages | Instock
    ISBN-10: 0321267966 | ISBN-13: 9780321267962
    Buy from myPearsonStore

  • 0321116208Windows Forms Programming in C#
    Sells
    © 2004 | Addison-Wesley Professional | Paper; 736 pages | Instock
    ISBN-10: 0321116208 | ISBN-13: 9780321116208
    Brief Description | Buy from myPearsonStore

  • 0321125193Windows Forms Programming in Visual Basic .NET
    Sells & Ghetland
    © 2004 | Addison-Wesley Professional | Paper; 736 pages | Instock
    ISBN-10: 0321125193 | ISBN-13: 9780321125194
    Brief Description | Buy from myPearsonStore

  • 0321303636eXtreme .NET: Introducing eXtreme Programming Techniques to .NET Developers
    Roodyn
    © 2005 | Addison-Wesley Professional | Paper; 336 pages | Instock
    ISBN-10: 0321303636 | ISBN-13: 9780321303639
    Brief Description | Buy from myPearsonStore

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.


Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions