Advanced C# Programming with the .NET Framework 2.0

CS300 : 5 Day Instructor-Led Workshop

Master advanced programming concepts and dive deeper into the .NET Framework

This five-day instructor-led class provides students with the knowledge and skills to develop applications utilizing .NET Framework v2.0 technologies with C# and Visual Studio 2005. Students start with an accelerated language review, followed by core features of the Foundation Class Libraries (FCL). The class covers advanced development topics using interfaces, generics, delegates, and events. Students also learn how to use read & write to files, work with XML & web services, serialize data, and properly debug applications. Students also learn security techniques as well as the core behaviors of ADO.NET. The class concludes with an overview of .NET 3.0 technologies.

Deliverables:
Attendees receive the following items when taking this course:

  • Interface exclusive curriculum
  • Interface exclusive student/lab manual
  • Interface Certificate of Achievements for
    • CS300
  • Sample code for each respective topic

Audience:
This course is ideal for individuals already familiar with the C# language and Visual Studio .NET 2005. Attendee has a strong developer background, but needs to understand core concepts related to .NET v2.0 Framework technologies.

Prerequisites:
It is strongly recommended that attendees take the following course prior to this class (or have equivalent knowledge and skills):

  • 4994CS (Introduction to C# Using Visual Studio .NET 2005)

Course Outline:

Accelerated C# Concepts

  • Common Type System
  • Value Types
  • Reference Types
  • Predefined Types
  • Object Oriented Programming
  • Abstraction
  • Polymorphism
  • Inheritance
  • Encapsulation
  • Operator Overloading
  • Using Attributes

Foundation Class Library Overview

  • Send E-mail
  • Using System.Net Classes
  • Pattern Matching with RegEx
  • Efficient String Concatenation with the StringBuilder
  • Using the StringReader/StringWriter Classes
  • Dynamic Code Inspection with Reflection

Generics

  • Why do we need Generics?
  • Templates and Generics
  • Generic Constraints
  • Generics and Casting
  • The default Keyword
  • Nullable Types
  • Using System.Collections.Generic Classes

Interfaces

  • What are Interfaces?
  • Creating Interfaces
  • Implementing Interfaces
  • Leveraging .NET Framework Interfaces

Events and Delegates

  • What are Events, Delegates and Event Handlers?
  • Creating Delegates and Events
  • Raising and Handling Events
  • Creating Custom EventArgs Classes
  • Using the EventHandler Delegate
  • Anonymous Methods and Delegate Inference

Reading and Writing Files

  • Using System.IO Classes
  • Directory/DirectoryInfo
  • File/FileInfo
  • FileStream
  • StreamReader
  • StreamWriter
  • FileSystemWatcher

Monitoring, Debugging and Instrumentation

  • Performance Counters
  • Using the Debugger Class
  • Tracing Operations

Serializing Data

  • Binary serialization
  • SOAP Serialization
  • XML Serialization

Parsing XML Data

  • Using System.Xml Classes
  • XmlReader
  • XmlWriter
  • XmlDocument
  • XPathNavigator
  • XPathDocument
  • Windows Services w/ FileSystemWatcher

.NET Security

  • CAS
  • Cryptography
  • WindowsPrincipal
  • GenericPrincipal

Web Services

  • Web Services Architecture
  • Creating Services
  • Consuming Services
  • Calling Web Services Asynchronously

ADO.NET

  • ADO.NET Classes
  • Connection
  • Command
  • Reader
  • DataSet
  • DataView
  • Generic Database Access with DbProviderFactory
  • Multiple Active Resultsets (MARS)

Overview of .NET 3.0

  • WCF
  • WF
  • WPF
  • Cardspace