| | Copyright |
| | Preface |
| | | Introduction |
| | | Who Should Read This Book |
| | | What's in This Book |
| | | Looking Ahead |
| | | Acknowledgments |
| | | About the Author |
| | | About the Technical Reviewers |
| | Part I. Power Language Essentials |
| | | Chapter 1. Basic Language Constructs |
| | | Introduction |
| | | Declaring Variables |
| | | Value Types and Reference Types |
| | | Defining Structures and Classes |
| | | Understanding Object-Oriented Concepts |
| | | Intermediate Language |
| | | Summary |
| | | Chapter 2. Inheritance and Interfaces |
| | | Introduction |
| | | Inheriting Classes |
| | | Inheritance versus Aggregation |
| | | Defining Interfaces |
| | | Implementing Interfaces |
| | | Inheriting Interfaces |
| | | Multiple Interface Inheritance |
| | | Comparing Abstract Classes to Interfaces |
| | | Summary |
| | | Chapter 3. Delegates |
| | | Introduction |
| | | Implementing Event Handlers |
| | | Using the WithEvents Statement |
| | | Adding and Removing Event Handlers |
| | | Declaring Events in Classes, Structures, and Interfaces |
| | | What Are Delegates? |
| | | Exploring Existing Delegate Types |
| | | Delegates for Multithreading |
| | | Summary |
| | | Chapter 4. Reflection |
| | | Introduction |
| | | Implicit Late Binding |
| | | Discovering Type Information at Runtime |
| | | Loading Assemblies |
| | | Reviewing the Binder Class |
| | | Using the DefaultMemberAttribute |
| | | Reflecting Members |
| | | Practical Applications of Reflection |
| | | Reflecting Custom Attributes |
| | | Understanding Reflection and Security |
| | | Emitting IL Code at Runtime |
| | | Summary |
| | | Chapter 5. Attributes |
| | | Introduction |
| | | Applying Attributes |
| | | Using Assembly Attributes |
| | | Creating an About Dialog with Assembly Attributes |
| | | Creating Custom Attributes |
| | | Reflecting Attributes |
| | | Emitting Attributes to IL |
| | | Emitting Attributes by Using the CodeDom Classes |
| | | Attributes and Declarative Security |
| | | Summary |
| | | Chapter 6. Multithreading |
| | | Introduction |
| | | Familiar Slight of Hand with the Timer Control |
| | | Comparing Synchronous and Asynchronous Behavior |
| | | Processing Asynchronously in the .NET Framework |
| | | Programming with Threads |
| | | Multithreading in Windows Forms |
| | | Summary |
| | Part II. Solution Building |
| | | Chapter 7. COM Interop |
| | | Introduction |
| | | Calling COM from .NET Code |
| | | Calling .NET Code from COM |
| | | Understanding Error Handling in COM Interop |
| | | Importing ActiveX Controls into .NET |
| | | Debugging Interoperable Components |
| | | Additional Topics |
| | | Summary |
| | | Chapter 8. Remoting |
| | | Introduction |
| | | Understanding .NET Remoting |
| | | Marshaling Objects by Reference |
| | | Marshaling Objects by Value |
| | | Writing to the Event Log |
| | | Handling Remote Events |
| | | Other Remoting Subjects |
| | | Summary |
| | | Chapter 9. Building Custom Components |
| | | Introduction |
| | | Implementing a Custom Component |
| | | Implementing a Custom Windows Control |
| | | Adding a Control to the Toolbox |
| | | Implementing a Custom Windows User Control |
| | | Examining Control Attributes |
| | | Using the UITypeEditor Class |
| | | Implementing Type Conversion |
| | | Implementing an Extender Provider |
| | | Creating a Windows Control Designer |
| | | Using Default Properties |
| | | Implementing Custom Web Controls and Custom Web User Controls |
| | | Summary |
| | | Chapter 10. Auto-Updating Smart Clients in .NET |
| | | Introduction |
| | | Implementing a Hello, World! Thin Client |
| | | Configuring Smart Client and Server Precursors |
| | | Considering a Generic Application Loader |
| | | Creating a Microsoft Installer File to Manage Security Policies |
| | | Handling COM Components |
| | | Other Ideas |
| | | Summary |
| | | Chapter 11. ADO.NET Database Programming |
| | | Introduction |
| | | Fundamentals of ADO.NET |
| | | Defining a Database Connection |
| | | Filling a DataSet Object with an Adapter |
| | | Using the DataReader Class |
| | | Using the DataTable and DataView Classes |
| | | Defining Database Relationships |
| | | Using Command Objects |
| | | Generating SQL with a Command Builder |
| | | Updating a DataSet |
| | | Adding Data to a DataSet |
| | | Sorting and Filtering a DataSet |
| | | Summary |
| | | Chapter 12. Advanced ADO.NET |
| | | Introduction |
| | | Updating a DataView |
| | | Programming with Stored Procedures |
| | | Debugging Stored Procedures in Visual Studio .NET |
| | | Using Transactions |
| | | Creating a Typed DataSet |
| | | Serializing a DataSet |
| | | Programming with ADO.NET Interfaces |
| | | Summary |
| | Part III. Web Programming |
| | | Chapter 13. Creating Web Services |
| | | Introduction |
| | | Finding Web Services |
| | | Consuming Existing Web Services |
| | | Creating a Web Service Application |
| | | Debugging and Testing Web Services |
| | | Deploying Web Services |
| | | Understanding XML Web Services and Security |
| | | Summary |
| | | Chapter 14. Advanced Web Services |
| | | Introduction |
| | | Returning Simple Data from Web Services |
| | | Returning Complex Data from a Web Service |
| | | Writing Web Services That Use DataSet Objects |
| | | Modifying the Proxy Class to Return Fat Objects |
| | | Returning a Strongly Typed Collection |
| | | Invoking Web Services Asynchronously |
| | | Summary |
| | | Chapter 15. Building ASP.NET Web Applications |
| | | Introduction |
| | | Designing the Screen Layout |
| | | Creating the Presentation with User Controls |
| | | Handling Application-Level Events |
| | | Caching Objects |
| | | Using Dynamic Interfaces with XML |
| | | Securing a Web Application with Forms Authentication |
| | | Summary |
| | | Chapter 16. Combining ADO.NET and ASP.NET |
| | | Introduction |
| | | Connecting to a Database |
| | | Using the DataView Class |
| | | Binding Data to Single-Value Web Controls |
| | | Binding Data to Multi-Value Web Controls |
| | | Paging and Sorting with DataGrid Controls |
| | | Using a DataList Control to Repeat Composite Controls |
| | | Converting Bound Columns to Template Columns |
| | | Managing Round-Trips to the Server |
| | | Summary |
| | Part IV. Debugging and Administration |
| | | Chapter 17. Debugging .NET |
| | | Introduction |
| | | Viewing Debug Windows |
| | | Managing Breakpoints |
| | | Using Edit and Continue Behavior |
| | | Debugging, Asserting, and Tracing |
| | | Programming with Trace Listeners |
| | | Managing Debug Code with Boolean Switches |
| | | Logging Application Events |
| | | Using Performance Counters |
| | | Using the Process Class |
| | | Attaching to a Running Process |
| | | Debugging Windows Applications |
| | | Debugging Web Applications |
| | | Debugging Multi-Language Programs |
| | | Additional Topics |
| | | Summary |
| | | Chapter 18. Code Access Security |
| | | Introduction |
| | | What Is Code Access Security? |
| | | Programming Defensively |
| | | Managing Security Policy |
| | | Comparing Declarative and Imperative Security |
| | | Using Code Access Security Demands |
| | | Using Code Access Security Asserts |
| | | A Brief Review of Other Security Actions |
| | | General Recommendations |
| | | Summary |
| | | Appendix A. Migrating Visual Basic 6 Applications to Visual Basic .NET |
| | | Introduction |
| | | Before You Migrate |
| | | Visual Basic 6 Features Not Supported in .NET |
| | | Migrating Visual Basic 6 Windows Applications |
| | | Migrating Visual Basic 6 ASP Web Applications |
| | | Summary |
| | | Bibliography |