Morad learning

Home | About Us | Purchase Courseware Online | Services | .NET Courses | Register for Online Classes! | XML Courses | Contact Us

Advanced Programming with Visual C# 2005

Class Duration


5 days.

Delivery Mode


Face-to-face Instructor-led in a community-of-practice environment.

Goals of the Course


This course is a follow-up on the Programming with Visual C# 2005 and concentrates on .NET component development with Visual C# 2005, Visual Studio 2005 Debugging techniques, and advanced Visual Studio productivity tools. This course is targeting advanced Visual C# 2005 developers who want to become proficient in using the many advanced features of Visual C# 2005 and Visual Studio 2005 in their .NET applications.

Course Name


Advanced Programming with Visual C# 2005



To really reap the benefits of what Visual C# 2005 and Visual Studio 2005 have to offer, developers must be familiar with many of the advanced and time-saving features in these two technologies. This class covers these advanced features.

Among the topics covered in this course are events and delegates, generics, custom attributes, operator overloading, and writing custom code snippets.

The instructional strategy for this course emphasizes project-based learning, practical real-life problem solving skills, and clear and concise explanation of the topics and their examples.




Advanced Programming with Visual C# 2005
Course Goals
Course Outline

Understanding Values & References
Value Types vs. Reference Types
The ref and out Parameters
Stacks and Heaps
The System.Object Class
Boxing and Unboxing

Creating Value Types with Enumeration & Struct
Declaring an Enumeration Type
Using an Enumeration
Choosing an Enumeration Literal Values and Underlying Type
Declaring a Structure Type
Using a Structure
Structures vs Classes
Initializing a Structure

Code Re-Use with Inheritance
Class Inheritance
Base and Derived Classes
Ways to Use Derived Classes
Calling Base Class Constructor
New Methods
Virtual Methods
Override Methods
Protected Access
Implementing an Interface
Interface Restrictions
Working with Multiple Interfaces
Abstract Classes
Sealed Classes
Sealed Methods

Visual Studio 2005 Productivity Tools
Using Code Editor Features
Debugging Visual C# 2005 Applications
The Four Steps of Debugging .NET Applications
Debugging by Exceptions
Debugging ASP.NET Web Forms Applications
Debugging ASP.NET Web Services
Visual Studio Refactoring
Visual Studio Code Snippets
Writing Custom Code Snippets

Using Garbage Collection & Resource Management
The Life and Times of an Object
Visual C# Garbage Collector
Garbage Collection Recommendation
Disposal Methods
Making Code Exception-Safe Disposal
The using Statement

Creating Components Implementing Properties
Comparing Fields and Methods
Read-Only Properties
Write-Only Properties
Property Accessibility
Property Restrictions
Declaring Interface Properties

Creating Components Using Indexers
Visual C# Indexer
Indexer Accessors
Indexers vs. Arrays
Indexers in Interfaces

Creating Components Delegates & Events
Declaring Delegates
Using Delegates
Anonymous Methods and Delegates
Notification with Events
Declaring an Event
Subscribing to an Event
Unsubscribing to an Event
Raising an Event
GUI Events

Creating Components Generics
The Generics Solution
Generics vs. Generalized Classes
Generics Constraints
Creating a Generic Class
Creating a Generic Method

Creating Components Enumerating Collections
Implementing an Enumerator Manually
Implementing the IEnumerable Interface
Implementing an Enumerator by Using an Iterator

Creating Components Operator Overloading
Operator Constraints
Overloaded Operators
Symmetric Operators
Compound Assignments
Defining Operator Pairs
Implementing an Operator
Conversion Operators


Who Should Attend?


Experienced Visual C# 2005 developers and programmers who want to learn and practice the advanced features of both Visual C# 2005 and Visual Studio 2005.



Prior .NET, Visual C# 2005, and Visual Studio 2005 experience is required. These prerequisites could be met with the Programming with Visual C# 2005 course or equivalent.



bullet ABC Format. A=Accurate, B=Brief, C=Complete
bulletUtilizes Microsoft Press books and references
bulletLearning is focused on real-situation problem solving
bulletSound instructional design strategies
bullet Learn-by-doing course design philosophy
bullet Clear explanations of concepts and principles
bullet Emphasis on getting started quickly
bullet Many examples and worked out samples
bullet Online Learning Environment (OLE) always accessible during class period from any location even across firewalls
bullet Learning Tools (LTs) supporting the learning process

Home | Up | About Us | Purchase Courseware Online | Services | Register for Online Classes! | XML Courses | Contact Us