Visual C# .NET Developer's Handbook - Mueller_ John Paul.pdf

(4825 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Visual C# .NET Developer's Handbook
John Paul Mueller
Associate Publisher: Richard Mills
Acquisitions and Developmental Editor: Denise Santoro Lincoln
Editor: Colleen Wheeler Strand
Production Editor: Kylie Johnston
Technical Editor: Ross Russell Mullen
Graphic Illustrator: Tony Jonick
Electronic Publishing Specialist: Nila Nichols
Proofreaders: Amey Garber, Dave Nash, Laurie O'Connell, Yariv Rabinovitch, Nancy
Riddiough
Indexer: Ron Strauss
CD Coordinator: Dan Mummert
CD Technician: Kevin Ly
Cover Designer: Carol Gorska/Gorska Design
Cover Photographer: Glen Allison/PhotoDisc
Copyright © 2002 SYBEX Inc., 1151 Marina Village Parkway, Alameda, CA 94501. World
rights reserved. The author created reusable code in this publication expressly for reuse by
readers. Sybex grants readers limited permission to reuse the code found in this publication or
its accompanying CD-ROM so long as the author is attributed in any application containing
the reusable code and the code itself is never distributed, posted online by electronic
transmission, sold, or commercially exploited as a stand-alone product. Aside from this
specific exception concerning reusable code, no part of this publication may be stored in a
retrieval system, transmitted, or reproduced in any way, including but not limited to
photocopy, photograph, magnetic, or other record, without the prior agreement and written
permission of the publisher.
Library of Congress Card Number: 2002103166
ISBN: 0-7821-4047-5
SYBEX and the SYBEX logo are either registered trademarks or trademarks of SYBEX Inc.
in the United States and/or other countries.Screen reproductions produced with FullShot 99.
FullShot 99 © 1991-1999 Inbit Incorporated. All rights reserved.FullShot is a trademark of
Inbit Incorporated.
The CD interface was created using Macromedia Director, COPYRIGHT 1994, 1997-1999
Macromedia Inc. For more information on Macromedia and Macromedia Director, visit
http://www.macromedia.com .
Internet screen shot(s) using Microsoft Internet Explorer 5.5 reprinted by permission from
Microsoft Corporation.
TRADEMARKS: SYBEX has attempted throughout this book to distinguish proprietary
trademarks from descriptive terms by following the capitalization style used by the
manufacturer.
The author and publisher have made their best efforts to prepare this book, and the content is
based upon final release software whenever possible. Portions of the manuscript may be based
upon pre-release versions supplied by software manufacturer(s). The author and the publisher
make no representation or warranties of any kind with regard to the completeness or accuracy
of the contents herein and accept no liability of any kind including but not limited to
performance, merchantability, fitness for any particular purpose, or any losses or damages of
any kind caused or alleged to be caused directly or indirectly from this book.
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
SOFTWARE LICENSE AGREEMENT: TERMS AND CONDITIONS
The media and/or any online materials accompanying this book that are available now or in
the future contain programs and/or text files (the "Software") to be used in connection with
the book. SYBEX hereby grants to you a license to use the Software, subject to the terms that
follow. Your purchase, acceptance, or use of the Software will constitute your acceptance of
such terms.
The Software compilation is the property of SYBEX unless otherwise indicated and is
protected by copyright to SYBEX or other copyright owner(s) as indicated in the media files
(the "Owner(s)"). You are hereby granted a single-user license to use the Software for your
personal, noncommercial use only. You may not reproduce, sell, distribute, publish, circulate,
or commercially exploit the Software, or any portion thereof, without the written consent of
SYBEX and the specific copyright owner(s) of any component software included on this
media.
In the event that the Software or components include specific license requirements or end-user
agreements, statements of condition, disclaimers, limitations or warranties ("End-User
License"), those End-User Licenses supersede the terms and conditions herein as to that
particular Software component. Your purchase, acceptance, or use of the Software will
constitute your acceptance of such End-User Licenses.
By purchase, use or acceptance of the Software you further agree to comply with all export
laws and regulations of the United States as such laws and regulations may exist from time to
time.
Reusable Code in This Book
The author(s) created reusable code in this publication expressly for reuse by readers. Sybex
grants readers limited permission to reuse the code found in this publication or its
accompanying CD-ROM so long as the author(s) are attributed in any application containing
the reusable code and the code itself is never distributed, posted online by electronic
transmission, sold, or commercially exploited as a stand-alone product.
Software Support
Components of the supplemental Software and any offers associated with them may be
supported by the specific Owner(s) of that material, but they are not supported by SYBEX.
Information regarding any available support may be obtained from the Owner(s) using the
information provided in the appropriate read.me files or listed elsewhere on the media.
Should the manufacturer(s) or other Owner(s) cease to offer support or decline to honor any
offer, SYBEX bears no responsibility. This notice concerning support for the Software is
provided for your information only. SYBEX is not the agent or principal of the Owner(s), and
SYBEX is in no way responsible for providing any support for the Software, nor is it liable or
responsible for any support provided, or not provided, by the Owner(s).
Warranty
SYBEX warrants the enclosed media to be free of physical defects for a period of ninety (90)
days after purchase. The Software is not available from SYBEX in any other form or media
than that enclosed herein or posted to www.sybex.com . If you discover a defect in the media
during this warranty period, you may obtain a replacement of identical format at no charge by
sending the defective media, postage prepaid, with proof of purchase to:
SYBEX Inc.
Product Support Department
1151 Marina Village Parkway
Alameda, CA 94501
Web: http://www.sybex.com
After the 90-day period, you can obtain replacement media of identical format by sending us
the defective disk, proof of purchase, and a check or money order for $10, payable to
SYBEX.
Disclaimer
SYBEX makes no warranty or representation, either expressed or implied, with respect to the
Software or its contents, quality, performance, merchantability, or fitness for a particular
purpose. In no event will SYBEX, its distributors, or dealers be liable to you or any other
party for direct, indirect, special, incidental, consequential, or other damages arising out of the
use of or inability to use the Software or its contents even if advised of the possibility of such
damage. In the event that the Software includes an online update feature, SYBEX further
disclaims any obligation to provide this feature for any specific duration other than the initial
posting.
The exclusion of implied warranties is not permitted by some states. Therefore, the above
exclusion may not apply to you. This warranty provides you with specific legal rights; there
may be other rights that you may have that vary from state to state. The pricing of the book
with the Software by SYBEX reflects the allocation of risk and limitations on liability
contained in this agreement of Terms and Conditions.
The GIF Construction Set and Graphic Workshop software included with this publication is
provided as shareware for your evaluation. If you try this software and find it useful, you are
requested to register it as discussed in its documentation and in the "About" screen(s) of the
application(s). Sybex has not paid the registration fee for this software.
Shareware Distribution
This Software may contain various programs that are distributed as shareware. Copyright laws
apply to both shareware and ordinary commercial software, and the copyright Owner(s)
retains all rights. If you try a shareware program and continue using it, you are expected to
register it. Individual programs differ on details of trial periods, registration, and payment.
Please observe the requirements stated in appropriate files.
Copy Protection
The Software in whole or in part may or may not be copy-protected or encrypted. However, in
all cases, reselling or redistributing these files without authorization is expressly forbidden
except as specifically provided for by the Owner(s) therein.
This book is in loving memory of Esther Darneal (1916-2002).
Acknowledgments
Thanks to my wife, Rebecca, for working with me to get this book completed during an
exceptionally difficult time. I really don't know what I would have done without her help in
researching and compiling some of the information that appears in this book (especially the
Glossary). She also did a fine job of proofreading my rough draft and page-proofing the final
result.
Russ Mullen deserves thanks for his technical edit of this book. He greatly added to the
accuracy and depth of the material you see here. I really appreciated the time he devoted to
checking my code for accuracy. Russ also supplied some of the URLs you see in the book and
other helpful tips and hints.
Matt Wagner, my agent, deserves credit for helping me get the contract in the first place and
taking care of all the details that most authors don't really consider. I always appreciate his
help. It's good to know that someone wants to help.
Finally, I would like to thank Denise Santoro Lincoln, Kylie Johnston, Colleen Strand, and
the rest of the Sybex production staff, including Nila Nichols, Kevin Ly, and Dan Mummert,
for their assistance in bringing this book to print. It's always nice to work with such a great
group of professionals.
Introduction
Frustration! It's one word that I've used to describe many of my development experiences.
Anyone who's worked with Visual Studio fully knows about the two-language dilemma that it
poses. At the one end of the development experience, Visual Basic makes development
relatively easy and fast, but it lacks the low-end connectivity I often need without performing
a lot of additional programming. At the other end of the development continuum, Visual C++
makes it relatively easy to gain low-level access to anything in the Windows environment, but
development is a time-intensive task requiring Machiavellian expertise.
What most developers need is a Reese's Peanut Butter Cup programming experience-two
tastes in one. C# provides that flavor-combining programming experience in many ways; you
gain the rapid application development environment of Visual Basic combined with the low-
level language support of Visual C++. One of the main purposes of this book is to share that
two-tastes-in-one experience with you.
Take the Grand Tour
I'm assuming that many of you have already programmed in Visual Basic or Visual C++ (or
perhaps even both) and found the experience lacking in some fundamental way. C# is a great
development language, but it's by no means perfect. I'll still use Visual C++ to develop native
unmanaged applications and components that need that last ounce of performance. Visual
Basic is still my development language of choice for quick prototyping and some database
management tasks. However, for the vast majority of my programming needs, C# fills a need
that the other two languages can't (without a lot of extra effort). Of course, the trick is
learning where C# fits into your language toolkit.
We'll take the grand tour of C# programming capabilities in this book. I won't bore you with
fundamentals such as basic code construction or learning how to create programming loops.
We will discuss everything from basic utility applications to complex database applications
that use OLE-DB, ODBC.NET, ADO, or ADO.NET as a basis for communication. Some of
the applications will provide a view of the local programming environment, while others will
provide a view of the Internet and distributed application development in all its glory. By the
time you finish Chapter 17 , you'll know that C# is a language for every environment-from the
desktop to the PDA.
Some Extras to Consider
You'll also find three interesting appendices in the back of the book. The first two will help
those of you who are used to working with Visual C++ or Visual Basic make the adjustment
to C#. You'll learn how C# differs from these two languages and about some of the common
problems that other developers have faced when making the transition. The third appendix
will show how you can create a complex application that Microsoft doesn't even mention in
the Visual Studio .NET help files-the Microsoft Management Console (MMC) snap-in. I
placed this example in an appendix because it isn't a pure C# application-some applications
still require the use of Visual C++ to make some underlying connections, and this is one of
them.
C# is a new programming language. While it does resemble languages of the past, it's truly a
new language for a new age of application development. This book is your guide to a larger
world of C# application development. You'll learn how to create many types of applications,
but more importantly, you'll learn how unique C# is and how it can help you overcome
modern application development problems that older languages are ill equipped to handle.
Who Should Read This Book?
I'll begin by saying that, as I write this, there are many good books for novices on the market,
and I have consequently decided not to discuss the same issues that those other texts already
cover. This book specifically addresses the needs of those who already know something about
C# or at least those who have decided to move from another Visual Studio language such as
Visual C++ or Visual Basic. If you've never programmed before, you'll probably find that
you'll get lost by the time you reach the end of the first chapter.
Zgłoś jeśli naruszono regulamin