Training for your Group
This course teaches you Visual Basic language syntax, program structure, and implementation by using Microsoft® Visual Studio® 2010 and the Microsoft .NET Framework 4.
Course Length: 5 days
Audience: This course is intended for experienced developers who already have programming experience in Visual Basic, C, C++, C#, or Java, and understand the concepts of Object Oriented Programming. These developers will be likely to develop enterprise business solutions.
Prerequisites: Experience in the following is required for this Visual Basic class: Existing basic Visual Basic knowledge. 12 months’ experience working with an Object Oriented language. Experience with the Microsoft .NET Framework. Knowledge of the Visual Studio integrated development environment (IDE) creating classes, inheritance and abstraction, polymorphism, interfaces, delegates, events, and exceptions.
What You're Going To Learn
- Describe the purpose of the .NET Framework, and explain how to use Microsoft Visual Basic® and Visual Studio 2010 to build .NET Framework applications.
- Describe the syntax of basic Visual Basic programming constructs.
- Describe how to create and call methods.
- Describe how to catch, handle, and throw exceptions.
- Describe how to perform basic file I/O operations in a Visual Basic application.
- Describe how to create and use new types (enumerations, classes, and structures), and explain the differences between reference types and value types.
- Describe how to control the visibility and lifetime of members in a type.
- Describe how to use inheritance to create new reference types.
- Describe how to manage the lifetime of objects and control the use of resources.
- Describe how to create properties and indexers to encapsulate data, and explain how to define operators for this data.
- Describe how to decouple an operation from the method that implements it, and explain how to use these decoupled operations to handle asynchronous events.
- Describe the purpose of collections, and explain how to use generics to implement type-safe collection classes, structures, interfaces, and methods.
- Describe how to implement custom collection classes that support enumeration.
- Describe how to query in-memory data by using Language-Integrated Query (LINQ) queries.
- Describe how to integrate code written by using a dynamic language such as Ruby and Python, or technologies such as Component Object Model (COM), into a Visual Basic application.
Introducing Visual Basic and the .NET Framework
- Introduction to the .NET Framework
- Creating Projects Within Visual Studio 2010
- Writing a Visual Basic Application
- Building a Graphical Application
- Documenting an Application
- Running and Debugging Applications by Using Visual Studio 2010
- Lab: Introducing Visual Basic and the .NET Framework
- Building a Simple Console Application
- Building a WPF Application
- Verifying the Application
- Generating Documentation for an Application
Using Visual Basic Programming Constructs
- Declaring Variables and Assigning Values
- Using Expressions and Operators
- Creating and Using Arrays
- Using Decision Statements
- Using Iteration Statements
- Lab: Using Visual Basic Programming Constructs
- Calculating Square Roots with Improved Accuracy
- Converting Integer Numeric Data to Binary
- Multiplying Matrices
Declaring and Calling Methods
- Defining and Invoking Methods
- Specifying Optional Parameters and Output Parameters
- Lab: Declaring and Calling Methods
- Calculating the Greatest Common Divisor of Two Integers by Using Euclid’s Algorithm
- Calculating the GCD of Three, Four, or Five Integers
- Comparing the Efficiency of Two Algorithms
- Displaying Results Graphically
- Solving Simultaneous Equations (optional)
- Handling Exceptions
- Raising Exceptions
- Lab: Handling Exceptions
- Making a Method Fail-Safe
- Detecting an Exceptional Condition
- Checking for Numeric Overflow
Reading and Writing Files
- Accessing the File System
- Reading and Writing Files by Using Streams
- Lab: Reading and Writing Files
- Building a Simple Editor
- Making the Editor XML Aware
Creating New Types
- Creating and Using Enumerations
- Creating and Using Classes
- Creating and Using Structs
- Comparing References to Values
- Lab: Creating New Types
- Using Enumerations to Specify Domains
- Using a Struct to Model a Simple Type
- Using a Class to Model a More Complex Type
- Using a Nullable Struct
Encapsulating Data and Methods
- Controlling Visibility of Type Members
- Sharing Methods and Data
- Lab: Encapsulating Data and Methods
- Hiding Data Members
- Using Static Members to Share Data
- Implementing an Extension Method
Inheriting From Classes and Implementing Interfaces
- Using Inheritance to Define New Reference Types
- Defining and Implementing Interfaces
- Defining Abstract Classes
- Lab: Inheriting From Classes and Implementing Interfaces
- Defining an Interface
- Implementing an Interface
- Creating an Abstract Class
Managing the Lifetime of Objects and Controlling Resources
- Introduction to Garbage Collection
- Managing Resources
- Lab: Managing the Lifetime of Objects and Controlling Resources
- Implementing the IDisposable Interface
- Managing Resources Used By an Object
Encapsulating Data and Defining Overloaded Operators
- Creating and Using Properties
- Creating and Using Indexers
- Overloading Operators
- Lab: Creating and Using Properties
- Defining Properties in an Interface
- Implementing Properties in a Class
- Using Properties Exposed By a Class
- Lab: Creating and Using Indexers
- Implementing an Indexer to Access Bits in a Control Register
- Using an Indexer Exposed by a Class
- Lab: Overloading Operators
- Defining the Matrix and MatrixNotCompatible Types
- Implementing Operators for the Matrix Type
- Testing the Operators for the Matrix Type
Decoupling Methods and Handling Events
- Declaring and Using Delegates
- Using Lambda Expressions
- Handling Events
- Lab: Decoupling Methods and Handling Events
- Raising and Handling Events
- Using Lambda Expressions to Specify Code
Using Collections and Building Generic Types
- Using Collections
- Creating and Using Generic Types
- Defining Generic Interfaces and Understanding Variance
- Using Generic Methods and Delegates
- Lab: Using Collections
- Optimizing a Method by Caching Data
- Lab: Building Generic Types
- Defining a Generic Interface
- Implementing a Generic Interface
- Implementing a Test Harness for the BinaryTree Project
- Implementing a Generic Method
Building and Enumerating Custom Collection Classes
- Implementing a Custom Collection Class
- Adding an Enumerator to a Custom Collection Class
- Lab: Building and Enumerating Custom Collection Classes
- Implementing the IList TItem Interface
- Implementing an Enumerator by Writing Code
- Implementing an Enumerator by Using an Iterator
Using LINQ to Query Data
- Using the LINQ Extension Methods and Query Operators
- Building Dynamic LINQ Queries and Expressions
- Lab: Using LINQ to Query Data
- Using the LINQ Query Operators
- Building Dynamic LINQ Queries
Integrating Visual Visual Basic Code with Dynamic Languages and COM Components
- Integrating Visual Basic Code with Ruby and Python
- Accessing COM Components from Visual Basic
- Lab: Integrating Visual Basic Code with Dynamic Languages and COM Components
- Integrating Code Written by Using a Dynamic Language into a Visual Basic Application
- Using a COM Component from Visual Visual Basic Application