| Course Description | |
| This course is designed to expose experienced software developers to the C# programming language and the core APIs of the .NET platform. The course will begin by exposing attendees to the syntax and semantics of the C# programming language and Object Oriented Programming (OOP) concepts. Students will gain an understanding of the .NET type system (classes, structure, enums, interfaces and delegates), assembly configuration, file IO operations and the role of type metadata. Once the foundational topics have been addressed, the remainder of the class will introduce the role of Windows Forms, ADO.NET, and ASP.NET. Course Length: 5 Days Course Tuition: $1890 (US) |
|
| Prerequisites | |
| Familiarity with the Windows XP/Windows Vista OS and experience using graphical IDEs to build and debug software application. Some exposure to OOP concepts is recommended but not required. | |
| Course Outline |
|
• The Philosophy of .NET Remembering the World of COM COM Problems and .NET Solutions The .NET Universe The Role of the Common Type System (CTS) The Role of the Common Language Specification (CLS) The Role of the Common Language Runtime (CLR) The Role of .NET Namespaces The Role of Common Intermediate Language The Role of Assemblies, Manifests and ILDasm Paths to Managed Code: A Survey of .NET Languages The CLI: The Basis of .NET ‘s Platform Independence Building C# Applications Using csc.exe • C# Language Fundamentals The Anatomy of a Basic C# Application Defining a Custom C# Class Type Partial Class Definitions Field Initialization Constructors and Finalizers C# Decision Constructs Looping Constructs Parameter Modifiers Method Overloading Exception Handling Building Custom Exceptions • Object Oriented Programming with C# Encapsulation and Class Development Defining Static Members Static Class Definitions Constant and the readonly Modifier The Role of the ‘this’ Keyword Implementation Inheritance Implementing the Employee Base Class Implementing the WageEmployee Class Implementing the SalesEmployee Class Implementing the Manager Class Abstract Methods and Classes Interfaces and Polymorphism Explicit Interface Implementation Interfaces versus Abstract Classes Multiple Interface Inheritance Type Casting Inheritance and Composition Defining Nested Types • .NET Programming Fundamentals Value Types and Reference Types The Role of System.Object Overriding Various Members of System.Object The System.Data Types Understanding Nullable Data Types .NET String Formatting syntax String Manipulation Array Manipulation Defining Enumerations Defining Custom Namespaces Understanding Delegates Using Events • Understanding Generics Understanding the Role of Generics Issues with Boxing and Unboxing Issues with Custom Collection Consuming Generic Types Creating Custom Generic Methods Building Custom Generic Types Constraining Type Parameters • Understanding .NET Assemblies An Overview of .NET Assemblies Building a Single File Assembly Building a Client Application Cross-Language Inheritance Exploring the Manifest Understanding Private Assemblies Authoring Application Configuration Files Understanding Shared Assemblies Creating a Strongly Named Assembly Installing a Strongly Named Assembly to the GAC Versioning Policies and Shared Assemblies Redirecting Assembly Request Understanding Publisher Policy Using the <codeBase> Element |
• Programming with Windows Forms An Overview of the System.Windows.Forms.dll Assembly Building a Main Window by Hand The Application Class The Form Hierarchy Adding Controls to a Form by Hand The Control.ControlCollection Type Handling Mouse Events Handling Keyboard Events Handling Paint Messages Visual Studio Windows Application Project Workspaces Working with the Windows Forms Designer Working with Additional Designer Tools Handling Events with the VS IDE Working with the ‘Strip’ controls Working with the MaskedTextBox Working with the WebBrowser Widget Creating Modal Dialog Boxes Windows Form Inheritance • Reflection and Attribute-Based Programming Understanding Reflection Investigating System.Type Fun with System.Type Examining the System.Reflection Namespace Dynamically Loading an Assembly Late Binding Attribute-Based Programming Assembly-Level Attributes Building Custom Attributes Restricting Attribute Usage Attribute Reflection • File IO and Object Serialization The System.IO Namespace The Abstract FileSystemInfo Type The DirectoryInfo Type The DriveInfo Type Understanding the Stream Concept Working with StreamReaders and StreamWriters Working with BinaryReaders and BinaryWriters Reading and Writing Binary Data Object Serialization Understanding Object Graphs Configuring Objects for Serialization Serializing an Object Graph to File Serializing an Object Graph to a SOAP Message • Introducing ADO.NET Why Another Data Access API? The System.Data.dll Assembly The Role of ADO.NET Data Providers The DataReader Inserting New Data Using Command Objects Deleting Data Using Command Objects Updating Data Using Command Objects Working with Individual Parameter Objects Calling Stored Procedures ADO.NET: The Disconnected layer DataSets, DataTables, DataRows, and DataColumns Understanding the DataAdapter Modifying Data in a DataSet The Role of the CommandBuilder Object Adding Table Relationships Consuming Table Relationships Filtering the DataSet • Advanced ADO.NET Understanding ADO.NET Data Provider Factories Working with the Connection String Builder Working with the <connectionString> Element DataTables as Data Readers • Introducing ASP.NET Problems with Class ASP Benefits of ASP.NET The ASP.NET Namespaces The Role of the ASP.NET Development Web Server Building a Simple ASP.NET Web Page with Visual Studio The Code-Page Development Model Understanding Web Controls Working with Web Form Controls The Derivation of a Web Form Control Understand the Issue of State Management Working with Application and Session Data Contact us for course schedules or more information. |


