Bob Powell is an Englishman abroad. He currently lives in North Carolina with his wife Chrissy and their children Laurence, Mike, Robyn, Jeremy, Abigail, and Charlie. Currently, Bob is VP of Development at NetEdge Software Incorporated, a consulting company that provides .NET and C++ software design services. Bob's e-mail address is email@example.com.
Richard Weeks is the CTO and Chief Architect for Crystal Sharp Consulting specializing in .NET applications development. Richard has been writing software for the better part of 10 years, specializing in C++, MFC, COM, ATL, and now C#. His major areas of interest include custom control development, compiler theory, distributed applications development, and design patterns. During the past 10 years, he managed to make time to earn his B.S. degree in Computer Science from Western Carolina University; it proudly hangs next to his G.E.D. When not working, he enjoys video games, go-cart racing, and good beer. Richard Weeks can be reached at firstname.lastname@example.org.
I. THE .NET FRAMEWORK. 1.1. A Quick Introduction to .NET.
Dispelling the Myth of the .NET Virtual Machine. Microsoft Intermediate Language (IL). An Introduction to .NET Memory Management. The .NET Framework Type System. The .NET Framework System Objects. C#-A New Programming Language. How Objects Describe Themselves. Component Object Model (COM) Interoperability. Windows Forms, Web Controls, and GDI+. Tools. Assemblies, the .NET Packaging System. Programming with Attributes. Security. Ready, Set, GO!1.2. The Common Language Runtime.
Overview. The CLR in Relation to .NET.1.3. IL Intermediate Language.
Language Inter-Op. Hello IL. Functions. Classes. ILDASM. Metadata. Reflection API.1.4. Working with Managed Extensions to C++.
The C++ Extension Keywords. Using the C++ Compiler for Managed C++. Garbage Collected Classes. The #using Directive. The String. Mixing Managed and Unmanaged Code. Pinning Managed Code. Managed Interfaces. Creating Value Types. Creating and Using Delegates. Calling Custom .NET DLLs from Your Managed C++ Code. Using Managed and Unmanaged C++ DLLs in Your _.NET Programs. Using Properties in Your C++ Classes. Ensuring the Alignment and Packing of Your C++ Structures.1.5. Introducing Visual Studio.NET.
The Integrated Development Environment (IDE). Section A: The Main Editing Area. Section B: Solutions, Classes, Items, and Help. Section C: The Toolbox and Server Explorer. Section D: Tasks, Output, Search Results, and Watches. Section E: Properties, Dynamic Help, and Favorites. Debugging Programs.
II. THE C# LANGUAGE. 2.1. C# Basics.
The C# Type System. Programming Concepts. Arrays. struct Classes. Interfaces. Delegates.2.2. Advanced C#.
.NET Collections. Attributes. XML Serialization.
III. WINDOWS FORMS. 3.1. Introduction to Windows Forms.
The Hello Windows Forms Application. Creating and Using an Event Handler. Defining the Border Style of the Form. Adding a Menu. Adding a Menu Shortcut. Handling Events from Menus.3.2. User Interface Components.
Dialogs. Creating Dialogs. Using Controls.3.3. Data Bound Controls.
Data Binding Strategies. Data Binding Sources. Simple Binding. Simple Binding to a DataSet. Complex Binding of Controls to Data. Binding Controls to Databases Using ADO.NET. Creating a Database Viewer with Visual Studio and ADO.NET.3.4. Windows Forms Example Application (Scribble .NET).
Resources in .NET. Localization Nuts and Bolts. .NET Resource Management Classes. Creating Text Resources. Using Visual Studio.NET for Internationalization. Image Resources. Using Image Lists. Programmatic Access to Resources. Reading and Writing RESX XML Files.3.5. GDI+: The .NET Graphics Interface.
The Basic Principles of GDI+. The Graphics Object. Graphics Coordinates. Drawing Lines and Simple Shapes. Using Gradient Pens and Brushes. Textured Pens and Brushes. Tidying up Your Lines with Endcaps. Curves and Paths. The GraphicsPath Object. Clipping with Paths and Regions. Transformations. Alpha Blending. Alpha Blending of Images. Other Color Space Manipulations.3.6. Practical Windows Forms Applications.
Using the Properties and Property Attributes. Demonstration Application: FormPaint.exe.
IV. WEB TECHNOLOGIES. 4.1. ASP.NET.
The New Web. ASP.NET Essentials. Hello ASP.NET. Adding Some Meat.4.2. .NET Data Access.
DataLayer. Employee and Department Class.4.3. WebForms.
Introduction to ASP.NET WebForms. UserControls. HeaderControl. ASPX Pages.4.4. WebServices.
Echo Service. Returning User-Defined Types. XML Attributes.
V. COMPONENT USAGE. 5.1. Assemblies.
What Is an Assembly? Single File Assembly. Multiple File Assembly. Assembly Attributes. Loading Assemblies at Runtime.5.2. Signing and Versioning.
DLL Hell. Global Assembly Cache. Versioning. Side-By-Side Assemblies. Custom Binding: Application Configuration.5.3. COM Interoperability.
The World of COM. .NET COM Support. Exposing .NET Components as COM Objects.5.4. Threads.
Multithreading 101. Thread Synchronization. Extending .NET Threads.Index.