|
The .NET platform brings a streamlined elegance to Windows and Web development, and C# is the language designed specifically for the .NET development. Our Complete C# 2005 provides in-depth coverage of both the language (C# 2005) and the platform (.NET 2.0). The class begins with an overview of the core atoms of the .NET universe; CLR, CTS, CLS, CIL and the assembly / namespace / type distinction. You will then learn the details of the C# language including several new features such as nullable data types, partial classes and generics.
The focus of the class then shifts to various technologies provided by the .NET 2.0 platform, including file I/O and object serialization, reflection services, Windows Forms 2.0, ADO.NET 2.0 and an introduction to ASP.NET 2.0 Web applications and XML Web services. Throughout the week, attendees will also be exposed to numerous aspects of the Visual Studio 2005 IDE and make use of various integrated development tools (refactoring support, code snippets, visual type designers, etc).
The class materials also include numerous appendixes which will be covered if time permits (or per client request). Throughout the course you will complete several practical hands-on exercises that demonstrate how to apply .NET technologies in the real world.
Topics covered include:
The Philosophy of .NET
- COM Problems, .NET Solutions
-
The Common Type System (CTS)
-
The Common Language Specification (CLS)
-
The Common Language Runtime (CLR)
-
The Assembly, namespace, type distinction
-
Contrasting single file and multifile assemblies
-
The Common Intermediate Language (CIL)
-
Survey of the .NET Namespaces
-
Platform independent .NET (Mono / Portable .NET distributions)
-
Choosing a managed language (C#, VB 2005, MC++)
-
Developing with the C# command line compiler (csc.exe)
-
Developing with Visual Studio 2005
Building .NET Applications in C#
-
Defining class types using C#
-
Processing command line arguments
-
Looping and decision constructs
-
Method overloading
C# parameter modifiers (out, ref, params)
-
Working with structured exception handling
-
Building custom exception objects
Object Oriented Programming with C#
- Constructors and finalizers
- Encapsulation via type properties
-
Static fields, members and constructors
-
The const and readonly modifiers
-
Implementation inheritance and virtual members
-
Abstract base classes / abstract members
-
Interface based polymorphism
-
Explicit interface implementation
-
Rules of type casting
-
Nexted types
-
Operator overloading
Common Language Runtime Fundamentals
-
Understand value types vs. reference types
-
The role of System.ValueType
-
The role of System.Object
-
Understand boxing and unboxing
-
The role of System.Array
-
The role of System.String
-
The role of System.Enum
-
Building custom namespaces
-
Understanding delegate types
-
The delegate / event relationship
C# 2.0 Language Features
-
Designing partial types
-
Static class definitions
-
C# nullable types (via the ? and ?? operators)
-
Delegate Covariance and Contravariance
-
Understanding Anonymous Methods
-
Understanding Method Group Conversion
Generics
-
The motivation for generics
-
System.Collections
-
Generic
Building custom generic members
-
Building custom generic types
-
Constraining type parameters
Understanding .NET Assemblies
-
Assembly characteristics
-
Contrast private and shared assemblies
-
Deploying and configuring private assemblies
-
Cross language inheritance
-
Understanding the role of strong names
-
Deploying and configuring shared assemblies
-
Understand publisher policy assemblies
-
Working with codebase
Programming Windows Forms
-
Understand the derivation of a Form type
-
The role of the Application class
-
Working with the .NET 2.0 strip controls
-
Handle keyboard events
-
Handle mouse events
-
The role of GDI+ (System.Drawing)
-
Construct dialog boxes
-
Understand form inheritance
Reflection and Attribute Based Programming
-
The role of reflection and System
-
Type
Dynamic loading of external assemblies
-
The role of late binding
-
Understand attribute based programming
-
Building custom attributes
-
Building extendable software
Input, Output and Object Serialization
-
Survey the System IO namespace
-
Learn to manipulate a directory and file structure
-
Open, read, write and close text files
-
The role of object serialization
-
The BinaryFormatter / SoapFormatter types
Data Access with ADO.NET
-
Understand the ADO.NET object model
-
Working with ADO.NET DataReaders
-
Working with Command types
-
Build parameterized queries
-
Triggering stored procedures via ADO.NET
-
Work with ADO.NET DataSets and DataAdapters
-
Understand ADO.NET DataRelation types
-
Work with DataView types
ADO.NET 2.0 Specific Features
- The element
-
Working with connection string builder objects
-
The data provider factory pattern
-
DataTables as DataReaders
Web Development with ASP.NET 2.0
-
Examine the architecture of an ASP.NET 2.0 Web Application
-
Survey the ASP.NET namespaces
-
The ASP.NET development server (webdev.webserver.exe)
-
The single file and code file development models
-
Understand the role of the Page type
-
A survey of ASP.NET 2.0 Web Controls
-
Interacting with the request / response
-
Working with session and application data
Building (and consuming) XMLWeb Services
-
Understand the role of XML Web Services
-
The role of the [WebMethod] attribute
-
The role of the Web Service Description Language (WSDL)
-
Expose custom types from an XML Web Services
-
Generating client proxies
|