New book: Microsoft Visual Basic 2010 Developer’s Handbook

We’re pleased to announce the availability of Microsoft Visual Basic 2010 Developer’s Handbook by Sarika Calla Purohit and Klaus Loffelmann.

About the Authors

Klaus Löffelmann is a Microsoft MVP for Visual Basic .NET, and has been a professional software developer for over 20 years. He has written several books about Visual Basic, and is the owner and founder of ActiveDevelop in Lippstadt, Germany, a company specializing in software development, localization, technical literature and training/coaching with Microsoft technologies.

Sarika Calla Purohit is a Software Design Engineer Test Lead on the Visual Studio Languages team at Microsoft. She has been a member of the Visual Studio team for over eight years and has contributed to Visual Basic .Net since version 1.1. Most recently, her team was responsible for testing the Visual Basic IDE in Visual Studio 2010.

About the Book

Take control of Visual Basic 2010—for everything from basic Windows® and web development to advanced multithreaded applications. Written by Visual Basic experts, this handbook provides an in-depth reference on language concepts and features, as well as scenario-based guidance for putting Visual Basic to work. It's ideal whether you’re creating new applications with Visual Basic 2010 or upgrading projects built with an earlier version of the language.

Discover how to:

  • Use Visual Basic 2010 for Windows Forms and Windows Presentation Foundation projects
  • Build robust code using object-oriented programming techniques, such as classes and types
  • Work with events and delegates—and add your own events to custom classes
  • Program arrays, collections, and other data structures in the Microsoft .NET Framework
  • Solve problems quickly and easily using My namespace in Visual Basic
  • Dive into Microsoft LINQ, including LINQ to XML and LINQ to Entities
  • Tackle threading, multitasking, and multiprocessor development and debugging

Table of Contents

Beginning with Language and Tools
  1. Chapter 1 Beginners All-Purpose Symbolic Instruction Code
    1. Starting Visual Studio for the First Time
    2. Console Applications
    3. Anatomy of a (Visual Basic) Program
    4. Starting Up with the Main Method
    5. Methods with and Without Return Values
    6. Declaring Variables
    7. Expressions and Definitions of Variables
    8. Comparing Objects and Data Types
    9. Properties
    10. Type Literal for Determining Constant Types
    11. Type Safety
    12. Arrays and Collections
    13. Executing Program Code Conditionally
    14. Loops
    15. Simplified Access to Object Properties and Methods Using With ... End With
    16. The Scope of Variables
    17. The += and –= Operators and Their Relatives
    18. Error Handling in Code
  2. Chapter 2 Introduction to the .NET Framework
    1. What Is .NET, and What Is It Composed Of?
    2. What Is an Assembly?
  3. Chapter 3 Sightseeing
    1. Introduction
    2. Starting Visual Studio for the First Time: Selecting the Profile
    3. The Start Page: Where Your Developing Endeavors Begin
    4. Upgrading Visual Basic 6.0 Applications to Visual Studio 2010
    5. The History of Multitargeting
    6. Interesting Read for Multitargeting
    7. Zooming In the New and Improved WPF-Based IDE
    8. Searching, Understanding, and Navigating Code
    9. Regions and Outlining
    10. Architecture Explorer
    11. The Generate From Usage Feature
    12. Extending Visual Studio
  4. Chapter 4 Introduction to Windows Forms—Designers and Code Editor by Example
    1. Case Example: the DVD Cover Generator
    2. Designing Forms with the Windows Forms Designer
    3. The Code Editor
  5. Chapter 5 Introduction to Windows Presentation Foundation
    1. What Is the Windows Presentation Foundation?
    2. What’s So New About WPF?
    3. How WPF Brings Designers and Developers Together
    4. Extensible Application Markup Language
    5. XAML Syntax Overview
    6. ImageResizer—a Practical WPF Example
  6. Chapter 6 The Essential .NET Data Types
    1. Numeric Data Types
    2. The Char Data Type
    3. The String Data Type
    4. The Boolean Data Type
    5. The Date Data Type
    6. .NET Equivalents of Base Data Types
    7. Constants and Read-Only Fields (Read-Only Members)
Object-Oriented Programming
  1. Chapter 7 A Brief Introduction to Object-Oriented Programming
    1. Using Classes and Objects: When and Why?
  2. Chapter 8 Class Begins
    1. What Is a Class?
    2. Instantiating Classes with New
    3. New or Not New: About Objects and Reference Types
    4. Nothing
    5. Using Classes
    6. Value Types
  3. Chapter 9 First Class Programming
    1. Using Properties
    2. Class Constructors: Defining What Happens in New
    3. Class Methods with Sub and Function
    4. Overloading Methods, Constructors, and Properties
    5. Specifying Variable Scope with Access Modifiers
    6. Static Elements
    7. Distributing Class Code over Multiple Code Files by Using Partial
  4. Chapter 10 Class Inheritance and Polymorphism
    1. Reusing Classes Through Inheritance
    2. Overriding Methods and Properties
    3. Polymorphism
    4. Abstract Classes and Virtual Procedures
    5. Interfaces
    6. The Built-In Members of the Object Type
    7. Shadowing of Class Procedures
    8. Special Form “Module” in Visual Basic
    9. Singleton Classes and Self-Instantiating Classes
  5. Chapter 11 Developing Value Types
    1. A Practical Example of Structures
    2. Passing Value and Reference Parameters
    3. Constructors and Default Instantiations of Value Types
    4. When to Use Value Types—When to Use Reference Types
    5. Targeted Memory Assignment for Structure Members with the Attributes StructLayout and FieldOffset
  6. Chapter 12 Typecasting and Boxing Value Types
    1. Converting Primitive Types
    2. Converting to and from Strings
    3. Casting Reference Types by Using DirectCast
    4. Boxing Value Types
    5. Changing the Values of Interface-Boxed Value Types
  7. Chapter 13 Dispose, Finalize, and the Garbage Collector
    1. The Garbage Collector in .NET
    2. The Speed in Allocating Memory for New Objects
    3. Finalize
    4. Dispose
    5. Targeted Object Release with Using
  8. Chapter 14 Operators for Custom Types
    1. Introduction to Operator Procedures
    2. Preparing a Structure or Class for Operator Procedures
    3. Implementing Operators
    4. Implementing Comparison Operators
    5. Implementing Type Conversion Operators for Use with CType
    6. Implementing True and False Evaluation Operators
    7. Problem Handling for Operator Procedures
    8. Implementable Operators: an Overview
  9. Chapter 15 Events, Delegates, and Lambda Expressions
    1. Consuming Events with WithEvents and Handles
    2. Raising Events
    3. Providing Event Parameters
    4. Delegates
    5. Lambda Expressions
    6. Embedding Events Dynamically with AddHandler
    7. Implementing Your Own Event Handlers
  10. Chapter 16 Enumerations
    1. Introduction to Enumerations
    2. Determining the Values of Enumeration Elements
    3. Determining the Types of Enumeration Elements
    4. Converting Enumerations to Other Types
    5. Flags Enumerations
  11. Chapter 17 Developing with Generics
    1. Introduction
    2. Solution Approaches
    3. Standardizing the Code Base of a Type by Using Generics
    4. Constraints
  12. Chapter 18 Advanced Types
    1. Nullable Value Types
    2. Generic Delegates
    3. Tuple(Of T)
    4. Type Variance
    5. Extension Methods
Programming with .NET Framework Data Structures
  1. Chapter 19 Arrays and Collections
    1. Array Basics
    2. Initializing Arrays
    3. Enumerators
    4. Collection Basics
    5. Initializing Collections
    6. Important Collections of .NET Framework
    7. Generic Collections
  2. Chapter 20 Serialization
    1. Introduction to Serialization Techniques
    2. Shallow and Deep Object Cloning
    3. Serializing Objects with Circular References
    4. XML Serialization
  3. Chapter 21 Attributes and Reflection
    1. Introduction to Attributes
    2. Introduction to Reflection
    3. Creating Custom Attributes and Recognizing Them at Runtime
Development Simplifications in Visual Basic 2010
  1. Chapter 22 Using My as a Shortcut to Common Framework Functions
    1. Visual Basic 2010 Simplifications Using the Example of the DotNetCopy Backup Tool
    2. The Principle Functionality of DotNetCopy
    3. The My Namespace
    4. Calling Forms Without Instantiation
    5. Reading Command-Line Arguments with My.Application.CommandLineArgs
    6. Targeted Access to Resources with My.Resources
    7. Writing Localizable Applications with Resource Files and the My Namespace
    8. Simplified File Operations with My.Computer.FileSystem
    9. Using Application Settings with My.Settings
  2. Chapter 23 The Application Framework
    1. Application Framework Options
    2. Adding a Code File to Handle Application Events (Start, End, Network Status, Global Exceptions)
Language-Integrated Query—LINQ
  1. Chapter 24 Introduction to LINQ (Language-Integrated Query)
    1. Getting Started with LINQ
    2. The Where Method
    3. The Select Method
    4. Combining LINQ Extension Methods
    5. Simplified Use of LINQ Extension Methods with the LINQ Query Syntax
  2. Chapter 25 LINQ to Objects
    1. Getting Started with LINQ to Objects
    2. Anatomy of a LINQ Query
    3. LINQ Query Performance
    4. Concatenating LINQ Queries and Delayed Execution
    5. Combining Multiple Collections
    6. Grouping Collections
    7. Aggregate Functions
  3. Chapter 26 LINQ to XML
    1. Getting Started with LINQ to XML
    2. Processing XML Documents—Yesterday and Today
    3. XML Literals: Using XML Directly in Code
    4. Creating XML Documents with LINQ
    5. Querying XML Documents with LINQ to XML
    6. IntelliSense Support for LINQ To XML Queries
  4. Chapter 27 LINQ to Entities: Programming with Entity Framework
    1. Prerequisites for Testing the Examples
    2. LINQ to Entities: the First Practical Example
    3. Querying an Entity Model
    4. Modifying, Saving, and Deleting Data
    5. Updating a Data Model from a Database
    6. Model-First Design
    7. Inheritance in the Conceptual Data Model
    8. Executing T-SQL Commands Directly in the Object Context
    9. Working with Stored Procedures
    10. Looking Ahead
Parallelizing Applications
  1. Chapter 28 Programming with the Task Parallel Library (TPL)
    1. Introduction to Threading
    2. Various Options for Starting a Thread
    3. How to Access Windows Controls from Non-UI Threads
    4. Parallelization with Parallel.For and Parallel.ForEach
    5. Working with Tasks
    6. Synchronizing Threads
    7. What’s Next?