Hands On Technology Transfer Inc - 1-800-413-0939

Advanced C# Programming Course

Discounts
Travel Packages
Guarantees
Testimonials
Why HOTT
Free Reports

Microsoft Certified Partner

Print FriendlyE-mail a Friend

Advanced C# Programming with the .NET 2.0 Framework

Duration: 5 Days | Price: $2495 | Class Dates:

Students Will Learn:
  • Extending the System.Object Class
  • .NET Interfaces and Collections
  • Interoperability Services
  • Advanced ADO.NET
  • Delegates & Events
  • Multi-Threading
  • Designing Advanced Web Services
  • Working with Attributes
  • Reflection
  • Remoting

Description: This hands-on course examines advanced features of the C# language and the .NET Framework. The course quickly examines object-oriented programming topics, including controlled inheritance through sealed and abstract classes and the use of cross language inheritance. Students will then learn about new features from .NET 2.0 such as partial classes and generics. Students will learn about many of the .NET interfaces and how they can take advantage of them. Students will learn to create assemblies built from single or multiple modules and deploy them for private or shared access. The course will explore how managed code can interact with unmanaged code via features like PInvoke services and Runtime Callable Wrappers. The students will learn to create multiple threaded applications and explore some of the issues that threading introduces to application development. The course examines how advanced features of ADO.NET classes are used to provide support for transaction management, connection pooling, and the creation of internal disconnected DataSets. New features found in ADO.NET 2.0 will also be examined. Students will use delegates to support event handling and to create custom callback functions. The course illustrates how reflection can be used to query an assembly's metadata and to create smart clients. Students will learn to create and use of Web Services and will explore advanced topics such as secure Web Services and passing custom data types. Students will see how .NET Remoting can be used to communicate between two .NET applications. The course will also examine the security capabilities of the .NET programming model and students will be able to adjust the .NET security policy. Other topics include: how and why to override System.Object methods; when to use the String vs. StringBuilder types; implementation vs. interface inheritance, n-tiered application development choices; .NET collections; thread synchronization; and creating and using custom attributes. Comprehensive hands-on lab exercises using Visual Studio.NET reinforce instructor lectures and build direct competence in the topics presented throughout the course.

Prerequisites: C# programming experience.

Advanced C# Programming with the .NET 2.0 Framework Course Overview:

.NET Programming in C#
  • .NET Framework Review
  • Common Language Runtime (CLR)
  • Common Type System (CTS)
  • Value Types vs. Reference Types
  • Extending System.Object
  • String vs. StringBuilder
  Object-Oriented Programming
  • Defining and Using Classes
  • Understanding Partial Classes in .NET 2.0
  • Understanding Object Lifetime
  • Building Class Hierarchies
  • Forcing Inheritance with Abstract Classes
  • Preventing Inheritance with Sealed Classes
  • Cross-Language Inheritance
  • Visual Inheritance
  • Defining and Implementing Interfaces
  • Working with Generics in .NET 2.0
NET Interfaces and Collections
  • IDisposable
  • Building Disposable Objects
  • ICloneable
  • Building Clonable Objects
  • IComparable and IComparer
  • Building Comparable Objects
  • ICollection, IDictionary and IList
  • Using ArrayList, HashTable and SortedList
  • IEnumerator
  • IEnumerable
  • Defining Custom Collections
  • Working with Generic Collections in .NET 2.0
  Defining and Versioning Assemblies
  • The Role of .NET Assemblies
  • Private and Shared Assemblies
  • Understanding Private Assemblies
  • Building and Using Single-File Assemblies
  • Building and Using Multi-File Assemblies
  • Understanding Shared Assemblies
  • Strong Names
  • Global Assembly Cache (GAC)
  • Building, Configuring and Consuming Shared Assemblies
.NET Interoperability Services
  • Interactions between Managed and Unmanaged Code
  • Interop Marshalling
  • Platform Invocation Service (PInvoke)
  • Calling Platform DLL's from .NET
  • Using COM Servers from .NET
  • Runtime Callable Wrappers
  • Thread Interoperability with COM
  • Calling .NET Components from COM
  • COM Callable Wrappers
  Advanced Data Management Features of ADO.NET
  • The ADO.NET Object Model
  • Connected vs. Disconnected Access
  • Using the ADO.NET 2.0 Provider Factory Model
  • Connection Pooling
  • Working with Connected Data
  • Using Stored Procedures
  • Transaction Management
  • Working with Disconnected Data
  • Using Multiple Tables with DataSets
  • Filtering Data with DataViews
  • Using Strongly Typed DataSets
  • Binding Data to Controls
Working with XML
  • Using XmlReaders and XmlWriters
  • Using Xml Schemas for Validation
  • Managing XML Data using XmlDocument
  Delegates and Events
  • What are Delegates?
  • Using Delegates
  • Singlecast vs. Multicast Delegates
  • Relationship between Delegates and Events
  • Defining Custom Events
  • Trapping Custom Events
Multithreading in .NET
  • Threading Concepts
  • Creating Threads in C#
  • Managing Threads
  • Problems with Threads
  • Thread Synchronization
   Web Services
  • Review of Web Services
  • .NET 2.0 Changes to Web Services
  • Exploring WSDL
  • Exploring the Proxy Code
  • Making Synchronous and Asynchronous Calls to a Web Service
  • Exposing Custom Types from Web Methods
  • Defining and Using Secure Web Services
Reflection & Attribute Programming
  • Using Attributes
  • Built-in Attributes
  • Designing Custom Attributes
  • Reflection Concepts
  • Extracting Type Information
  • Viewing Metadata
  • Discovering Attributes with Reflection
  • Using Reflection at Runtime
  • Building Smart Clients
  Remoting
  • Remoting Basics
  • Understanding Application Domains
  • Creating Remotable Objects
  • Well-known vs. Activated Objects
  • Creating Channels for Calling Remote Methods
  • Creating Remote Objects
  • Interacting with Remote Objects
  • Using Interfaces with Remote Objects
  • Lease-based Lifetimes
Security
  • Security Basics
  • Evidence and Code Identity
  • Role-based Security
  • Code Access Security
  • Security Policy
  • Permissions
  • Code Groups
  • Using the .NET Configuration Wizard
  • Cryptography
   

Student Testimonials

"Course was interesting; gained a solid understanding of core advanced .NET topics; instructor was engaging, dynamic and challenging. Interacting with developers from different background was stimulating."
– J.M., Standard Bank


"This course provided a great understanding of concepts and methodology for C# .NET. The small classroom size was extremely beneficial to the learning experience."
– K.S., Apex Consulting Group, INC.


"This course was very helpful for me. I don't regularly code in C# but will be supporting and managing a future web service system written in C#. I now understand the structure of C# and feel confident that I'll be able to do my job. Thanks - good course!"
– D.M., Rhode Island Department of Environmental Management


Northeast/New England Southeast Midwest West/Southwest Canada United Kingdom
CT - Hartford
CT - New Haven
CT - Stamford
DC - Washington
MA - Boston
MA - Chelmsford
MA - Quincy
MA - Springfield
MA - Waltham
MA - Woburn
MA - Worcester
MD - Baltimore
MD - Columbia
NH - Manchester
NH - Nashua
NJ - Jersey City
NJ - Newark
NJ - Princeton
NY - Albany
NY - Binghamton
NY - Buffalo
NY - Ithaca
NY - Manhattan
NY - Rochester
NY - Syracuse
PA - Harrisburg
PA - Philadelphia
PA - Pittsburgh
RI - Providence
AL - Huntsville
FL - Fort Lauderdale
FL - Jacksonville
FL - Miami
FL - Orlando
FL - Pensacola
FL - Sarasota
FL - Tampa
FL - West Palm Beach
GA - Atlanta
GA - Savannah
LA - Shreveport
NC - Charlotte
NC - Raleigh-Durham
NC - Winston-Salem
SC - Charleston
VA - Alexandria
VA - Fairfax
VA - Norfolk
VA - Richmond
VA - Williamsburg
AR - Little Rock
IA - Cedar Rapids
IA - Des Moines
IL - Chicago
IL - Schaumburg
IL - Springfield
IN - Indianapolis
KY - Louisville
MI - Detroit
MI - Lansing
MN - Minneapolis
MO - Kansas City
MO - St. Charles
MO - Springfield
NE - Omaha
OH - Cincinnati
OH - Cleveland
OH - Columbus
OH - Dayton
OK - Oklahoma City
OK - Tulsa
TN - Memphis
TN - Nashville
WI - Milwaukee
AZ - Phoenix
AZ - Tucson
CA - Bakersfield
CA - Fresno
CA - Irvine
CA - Los Angeles
CA - Modesto
CA - Oakland
CA - Riverside
CA - Sacramento
CA - San Diego
CA - San Francisco
CA - San Jose
CA - Santa Clarita
CA - Santa Monica
CA - Temecula
CO - Denver
ID - Boise
NM - Albuquerque
NM - Las Cruces
NV - Las Vegas
OR - Portland
TX - Austin
TX - Corpus Christi
TX - Dallas
TX - El Paso
TX - Fort Worth
TX - Houston
TX - San Antonio
UT - Salt Lake City
WA - Seattle
WA - Spokane
AB - Calgary
AB - Edmonton
BC - Vancouver
MB - Winnipeg
QC - Montreal
QC - Quebec City
ON - Kingston
ON - Mississauga
ON - Ottawa
ON - Toronto
SK - Regina
Birmingham
Bristol
Chelmsford
Edinburgh
Glasgow
Leeds
Liverpool
London
Manchester

Hands On Technology Transfer, Inc.
1 Village Square, Suite 8
14 Fletcher Street
Chelmsford, MA 01824
1-800-413-0939 | 1-978-250-4299

Copyright© 2008 Hands On Technology Transfer, Inc.