Advanced C# using Visual Studio 2008

CS308 : 5 Day Instructor-Led Class

Dive deeper into C# and the .NET Framework with Visual Studio 2008

In this 5-day course designed for C# developers, attendees will enhance their current skills with the powerful new features available in C# 3.0 and version 3.5 of the .NET Framework. Attendees will also learn and exploit all the new productivity features in Visual Studio 2008.  Attendees will put these new skills into practice immediately while working as teams to complete projects on time.  All projects will be managed via source control, and teams will be responsible for deployment strategies.

Should I attend?
 
This course is intended for developers who currently have experience programming in C#. Candidates will have strong experience using Visual Studio (2002, 2003, 2005, or 2008) and can easily manage solutions, projects, and code files.  Candidates will also already know how to create custom class libraries (dlls), and know how to reference any external assembly in an existing project.
 
Qualification to attend can also be met by completing our CS208 course.
 
What do I get?
 
  • HardHat Workbook with Project Requirements
  • Certificate of Completion
 
C# 3.0 language features to be covered:
 

Feature

Description

Implicitly Typed Local Variables and Arrays

When used with local variables, the var keyword instructs the compiler to infer the type of the variable or the array elements from the expression on the right side of the initialization statement.

Object Initializers

Enables object initialization without explicit calls to a constructor.

Collection Initializers

Enables initialization of collections with an initialization list rather than specific calls to Add or another method.

Extension Methods

Extend existing classes by using static methods that can be invoked by using instance method syntax.

Anonymous Types

Enables on-the-fly creation of unnamed structured types that can be added to collections and accessed by using var.

Lambda Expressions

Enables inline expressions with input parameters that can be bound to delegates or expression trees.

LINQ - Query Keywords

 

This topic will also briefly cover

LINQ to SQL

Keywords that specify clauses in a query expression:

·         from clause(s)

·         where clause (optional)

·         ordering clauses (optional)

·         join clause (optional)

·         select or group clause

·         into clause (optional)

Auto-Implemented Properties

Enables declaration of properties by using simplified syntax.

Partial Method Definitions

Partial types may now contain partial methods.  Learn why and when this is practical.

Generics

The need for “templated” code and how to use existing types that utilize this feature.  Also learn why and how to implement custom Generics.

Object Oriented Programming

Crash course on inheritance, abstraction, polymorphism, and how all these concepts convert to supporting real-world functionality.

 
.NET 3.5 Framework features to be covered:

Feature

Description

I/O

Learn how to read/write files using streams, stream readers, and stream writers.

Security

The basics of Code Access Security (CAS) and how to use cryptology to secure code and data.

XML

Brief overview of XML enhancements

 

New features in Visual Studio 2008 to be covered:

Feature

Description

Multi-targeting

Visual Studio 2008 enables you to specify a version of the .NET Framework for your project, .NET Framework 2.0, 3.0, or 3.5. The .NET Framework target of an application is the version of the .NET Framework that is required on a computer to enable the application to run on that computer.

New Project Types and Templates

Several new project templates are provided for WPF, WCF, and Web projects.

IntelliSense

The Visual C# code editor provides statement completion and Quick Info to support the new language constructs in C# 3.0.  Code snippets are also still fully supported.

Refactoring  for C# 3.0

The refactoring features, Rename, Signature Change, Extract Method, and Promote Local have been updated to support the following new language constructs:

·         Query Expressions (using new C# keywords)

·         Extension Methods (the ability to “extend” any existing type)

·         Lambda Expressions (the next evolution of delegates)

In addition, refactoring provides new options and warnings to help prevent unintended consequences from a refactoring action.

Code Formatting

The code editor supports formatting options for several new C# 3.0 language constructs including query expressions.

Organizing Using Statements

The Visual C# code editor provides an easy way to sort and remove using and extern declarations.

T4 Code Generation

Learn how to use "T4 Templates" to auto generate code.