Learn your way! Get started

Advanced.NET Framework 2.0 Using VB 2005: Part 3 of 3

with experts Jan Fransen, Scott Barker


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 3/15/2007
Level Advanced
Runtime 7h 54m
Closed captioning N/A
Transcript N/A
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included
Platform Internet Explorer Only


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

In this volume, you’ll learn about the .NET Framework 2.0 system types like Generic and Reference types. Work with groups of data using various classes like Collection, Hashtable, ArrayList, and Dictionary. Improve type safety and performance using generic collections and manage data better by using specialized collections. You’ll learn about object serialization and working with XML formatted data. Manage files and folders using the System.IO namespace. See how to work with external data using the Stream classes.

Meet the experts

Jan Fransen has been working to educate people in the best ways to use Microsoft products for more than 15 years. She's written both data-based and document-based applications for large and small companies and has helped hundreds of Office users and developers get started on the right foot through public and onsite training classes. As a writer, Jan has developed training courseware, contributed to books on Microsoft Office, written white papers for publication on MSDN, and created samples designed to help developers get up to speed quickly on new Microsoft products and features.

F. Scott Barker has over 15 years of experience as a software developer in Visual Basic .NET and most recently in C#. He has been a Microsoft MVP and worked at Microsoft as a member of the Access and FoxPro teams. Scott is a seasoned trainer and frequent speaker at Microsoft conferences worldwide. He has also been a contributing editor and writer for various technical magazines and has written several software development books.

Course outline



Module 1

.NET Framework Class Library (25:04)
  • Introduction (01:36)
  • Overview (00:39)
  • System Types (00:42)
  • Value Type / Ref. Types (02:16)
  • Built-in Value Types (01:20)
  • Number Types (00:56)
  • Demo: Numeric Types (02:47)
  • ToString Method (00:52)
  • Demo: Numeric ToString (02:24)
  • Instance vs. Shared (00:16)
  • Nullable Type (00:50)
  • Numeric Shared Methods (03:03)
  • Demo: Nullable Value (03:08)
  • Dates and Times (01:09)
  • Demo: Date/Time Properties (00:22)
  • Demo: Date/Time ToString (00:33)
  • Date/Time Instance Methods (00:48)
  • Date/Time Shared Methods (00:48)
  • Summary (00:27)
Reference Types (40:24)
  • Introduction (00:35)
  • Copy a Value Type (00:54)
  • Copy a Reference Type (01:13)
  • Value vs Ref. Types (02:42)
  • Work with Strings (03:35)
  • Overview: Stringbuilder (00:32)
  • String ReferenceTypes (03:16)
  • Demo: String Formatting (01:36)
  • Demo: Concatenate Strings (01:03)
  • Demo: Stringbuilder (03:31)
  • Overview: Arrays (00:54)
  • Array Methods (00:22)
  • Iterating Arrays (00:49)
  • Demo: Work with Arrays (07:25)
  • Handling Exceptions (02:10)
  • Demo: Work w/Exceptions (09:11)
  • Summary (00:30)

Module 2

Conversion (16:40)
  • Introduction (00:37)
  • Implicit Conversions (01:49)
  • Using Option Strict (00:30)
  • Convert Explicitly (00:37)
  • VB Conversion Functions (00:38)
  • Convert w/.NET Framework (02:04)
  • Boxing / Unboxing (00:55)
  • Wide/Narrow Conversion (03:35)
  • Demo: ToString (01:58)
  • Demo: Parse/TryParse (03:34)
  • Summary (00:19)
Custom Types (23:32)
  • Introduction (00:30)
  • Overview: Custom Types (00:40)
  • Value vs Ref. Type (01:14)
  • Constants (00:54)
  • Enumerations (02:21)
  • Demo: Constants (02:26)
  • Demo: Enumerations (01:00)
  • More Complex Enum. (03:48)
  • Structures (01:11)
  • Demo: Simple Structure (03:41)
  • Constructors (00:57)
  • Properties (01:08)
  • Add Methods to Structure (00:26)
  • Property vs Method (00:43)
  • More Complex Structure (02:10)
  • Summary (00:16)
Creating Classes (22:37)
  • Introduction (00:34)
  • Overview (00:49)
  • Class Constructors (00:57)
  • Properties / Methods (00:12)
  • Demo: A Simple Class (05:45)
  • Inherited Members (00:29)
  • Overloading Methods (00:24)
  • Instance / Shared members (01:02)
  • ApplicationException Class (02:05)
  • Handle Exceptions (01:03)
  • Complex Class/Shared Mem. (02:03)
  • Demo: Exceptions (06:44)
  • Summary (00:26)

Module 3

Advanced Custom Types (29:00)
  • Introduction (00:34)
  • Using Attributes (00:41)
  • Built-in Attributes (01:32)
  • TypeForwardedToAttribute (00:55)
  • Build Your Own Attributes (02:26)
  • Implement Interfaces (01:37)
  • Use IComparable (03:26)
  • Use IDisposable (01:42)
  • Use IConvertible (03:19)
  • Use ICloneable (04:31)
  • Use IEquatable (03:55)
  • Use IFormattable (00:47)
  • Create Custom Interfaces (02:40)
  • View Custom interface (00:25)
  • Summary (00:21)
Delegates and Events (17:39)
  • Introduction (00:39)
  • Overview: Delegates (03:16)
  • Overview: Events (02:52)
  • Custom Event Handler (01:17)
  • Generic Classes (01:51)
  • Create Generic Types (00:36)
  • Consume Generic Type (00:14)
  • Add Constraints (02:45)
  • Demo: Generic Class (01:51)
  • Demo: Constraints (01:50)
  • Summary (00:24)
Simple Collections (20:01)
  • Introduction (00:48)
  • System.Collections (02:08)
  • Overview: ArrayList (02:15)
  • Demo: ArrayList (03:07)
  • Common Functionality (00:59)
  • IEnumerable Interface (00:55)
  • IEnumerator Interface (00:23)
  • ICollection Interface (00:35)
  • IList Interface (00:49)
  • CollectionBase Class (00:30)
  • ReadOnlyCollectionBase (00:39)
  • Implement Custom Collection (01:57)
  • Sequential Lists (00:25)
  • Queue Class (00:36)
  • Stack Class (00:44)
  • Demo: Queue (01:14)
  • Demo: Stack (01:23)
  • Summary (00:26)

Module 4

Dictionaries and Sorting (20:29)
  • Introduction (00:31)
  • Dictionary Classes (00:29)
  • Handle Key/Value Pairs (00:43)
  • Hashtable (00:58)
  • GetEnumerator (01:10)
  • Demo: Hashtable (01:38)
  • Demo: DictionaryEntry (01:05)
  • Determine Duplicates (00:48)
  • IEqualityComparer (00:37)
  • Demo: IEqualityComparer (05:04)
  • SortedList (00:44)
  • Demo: SortedList (01:12)
  • Sort Collections (01:01)
  • Comparer Class (00:39)
  • Implement ICompare (01:03)
  • SortedList Collection (00:37)
  • Custom Sort Collection (01:38)
  • Summary (00:24)
Generic Collections (26:07)
  • Introduction (00:42)
  • Generic Collections (03:38)
  • Generic List Class (04:50)
  • Use Predicates (01:31)
  • Demo: Array List Issues (02:36)
  • Demo: Generic List (04:23)
  • Demo: Iterate Generic List (01:50)
  • Demo: Find / Predicates (06:07)
  • Summary (00:25)
Additional Generic Collections (21:06)
  • Introduction (00:36)
  • Generic Dictionary Class (01:44)
  • Sorted Classes (01:23)
  • Queues and Stacks (01:03)
  • Generic Queue Class (00:37)
  • Generic Stack Class (00:49)
  • Demo: Generic Dictionary (01:36)
  • Demo: Generic SortedList (01:28)
  • Demo: Generic Queue (02:06)
  • Demo: Generic Stack (01:56)
  • Generic LinkedList (00:55)
  • LinkedList Methods (01:21)
  • LinkedListNode Class (01:16)
  • Demo: Generic LinkedList (01:44)
  • Demo: LinkedListNode (01:57)
  • Summary (00:27)

Module 5

Specialized Collections (26:28)
  • Introduction (00:40)
  • Generic Collection Classes (01:13)
  • Generic Collection Enums (00:53)
  • Demo: Gen Collections (04:07)
  • Specialized Collections (01:00)
  • StringCollection (00:51)
  • StringDictionary (00:57)
  • NameValueCollection (01:02)
  • Demo: StringCollection (00:45)
  • Demo: StringDictionary (00:45)
  • Demo: NameValueCollection (02:17)
  • BitArray (01:11)
  • BitVector32 (02:39)
  • Demo: BitArray (03:27)
  • Demo: BitVector32 (04:01)
  • Summary (00:32)
Serializing Objects (23:07)
  • Introduction (00:42)
  • Overview: Serialization (02:38)
  • Serialization Formats (01:10)
  • Start with Serialization (00:37)
  • Specify a Formatter (01:35)
  • Steps to Serialize (01:48)
  • Serialize a String (00:58)
  • Demo: Serialize Strings (01:41)
  • Deserialize a String (01:46)
  • Serialize Complex Types (01:37)
  • Deserialize Complex Types (01:53)
  • Demo: Deserialize Strings (00:52)
  • Demo: Complex Types (05:19)
  • Summary (00:24)
Serializing Custom Objects (17:30)
  • Introduction (00:40)
  • Serialize Custom Class (00:46)
  • Deserialize Custom Class (00:39)
  • Serialize Custom Colls (00:40)
  • Deserialize Custom Colls. (00:37)
  • Demo: Custom Class (02:13)
  • Demo: Custom Collections (04:31)
  • Formatting for SOAP (00:26)
  • Version Compatibility (01:27)
  • OptionalField Attribute (00:36)
  • Make Non-Serializable (01:09)
  • Deserialization Callback (00:50)
  • Demo: Non-Serialized (02:18)
  • Summary (00:33)

Module 6

Serialize Objects with XML (20:32)
  • Introduction (00:44)
  • XML Serialization (02:17)
  • Simple XML Serialization (00:36)
  • Steps to Serialize (01:52)
  • Steps to Deserialize (01:39)
  • Serialize a String (01:42)
  • Deserialize a String (01:35)
  • Complex Data Types (02:17)
  • Catching Exceptions (00:57)
  • Serialize Complex Data (02:43)
  • Deserialize Complex Data (03:30)
  • Summary (00:34)
Serialize Classes with XML (12:12)
  • Introduction (00:37)
  • Serialize Classes (00:47)
  • Deserialize Classes (00:34)
  • Serialize Collections (00:44)
  • Deserialize Collections (00:32)
  • Demo: Classes (04:43)
  • Demo: Collections (03:53)
  • Summary (00:18)
Datasets/XML/Serialization (24:35)
  • Introduction (00:36)
  • Overview (00:32)
  • Write Datasets (00:53)
  • Load Datasets (00:55)
  • Demo: Save Dataset (03:26)
  • Demo: Load Dataset (02:47)
  • Use XML Schemas (00:55)
  • Create Matching Class (00:20)
  • XML Schema Definition Tool (02:15)
  • Demo: Create Schema (00:51)
  • Demo: Create a Class (01:41)
  • Custom Serialization (00:52)
  • Implement ISerializable (00:44)
  • Serializing Methods (00:46)
  • Custom Deserialization (00:37)
  • Serialization Events (00:45)
  • Demo: Cust. Serialization (03:47)
  • Demo: Cust. Deserialization (01:27)
  • Summary (00:16)

Module 7

Files and Folders (24:32)
  • Introduction (00:42)
  • Overview (00:38)
  • Work with Drives (00:52)
  • Demo: Drives (01:22)
  • Directories and Folders (04:25)
  • Demo: Directories (03:24)
  • Monitor File System (00:51)
  • FileSystemWatcher (03:13)
  • Demo: FileSystemWatcher (01:33)
  • Files and Paths (00:31)
  • Parse with Path Class (00:45)
  • Demo: Parse Class (01:15)
  • File and FileInfo Classes (01:56)
  • Demo: File/FileInfo Class (02:32)
  • Summary (00:27)
Text Streams (19:37)
  • Introduction (00:34)
  • TextReader/TextWriter (01:23)
  • StringReader (00:52)
  • StringWriter (00:41)
  • Demo: StringReader/Writer (03:12)
  • Read From/Write To (00:54)
  • Stream Base Class (00:34)
  • FileStream Class (01:02)
  • Demo: FileStream Class (02:17)
  • StreamReader/StreamWriter (00:58)
  • BinaryReader/BinaryWriter (00:37)
  • Demo: StreamReader/Writer (01:24)
  • Demo: BinaryReader/Writer (01:08)
  • MemoryStream (00:44)
  • BufferedStream (00:28)
  • Demo: MemoryStream (00:56)
  • Demo: BufferedStream (01:20)
  • Summary (00:26)

Module 8

Compress / Decompress (14:13)
  • Introduction (00:40)
  • Overview (02:01)
  • GZipStream/DeflateStream (01:37)
  • Steps to Compress (01:43)
  • Demo: Compress File (03:43)
  • Steps to Decompress (01:33)
  • Demo: Decompress File (02:35)
  • Summary (00:18)
Isolated Storage (IS) (28:34)
  • Introduction (00:43)
  • Overview: IS (03:04)
  • IsolatedStorageFile Class (01:19)
  • Retrieve IS for Machine (02:27)
  • Work with Folders (02:23)
  • Demo: Work with Folders (01:04)
  • Work with Files (03:24)
  • IS File Permission Attrib (00:23)
  • Demo: Work with Files (00:59)
  • Access from Other Apps (01:03)
  • Demo: Create/Store Files (01:36)
  • Demo: Open/Read Files (01:28)
  • Compress Files in IS (01:29)
  • CompressDecompressIS Class (01:26)
  • Demo: Compress File in IS (05:17)
  • Summary (00:21)