Advanced .NET Framework Programming Using C#
Students Will Learn:
- Building and Using Classes, Derived Classes, Abstract Classes and Sealed Classes
- Implementing .NET Interfaces and Custom Interfaces
- Working with Object-Based Collections and Generics Collections
- Defining and Using Synchronous and Asynchronous Delegates
- Firing Custom Events
- Working with Data Using ADO.NET and XML
- Making Queries using LINQ and PLINQ
- Building Multithreaded Applications
- Using the Parallel Task Library
- Building and Using Private and Shared Assemblies
- Working with Reflection
- Building and Consuming WCF Services
- Using Interoperability Services
Course Description: This hands-on course examines how to utilize advanced features of C# and the .NET Framework in order to build sophisticated, scalable, high-performing applications. The course includes coverage of features available in .NET 2.0 through .NET 4.5.
The course begins by reviewing .NET's Common Type System, and then examines nullable types, inferred types and dynamic data. Advanced object-oriented programming topics include auto-implemented properties, inheritance, abstract classes, sealed classes, and generics, as well as how to implement many of the .NET interfaces in order to take advantage of .NET functionality.
Students learn how to use synchronous and asynchronous delegates to call methods using late binding, as well as how to use delegates to define and fire custom events and manage callbacks. The course shows how to build multithreaded applications and synchronize access to shared resources, including the Thread and ThreadPool classes as well as .NET 4.0's Task class and the Parallel Task Library. Coverage of the new .NET 4.5 Async and Await features is included.
Students learn how to work with data in .NET's collections, as well as how to create and use custom generic methods and collections. Database topics include how to use ADO.NET to manipulate data in databases and how advanced ADO.NET features provide support for transaction management, connection pooling, and the management of disconnected DataSets. Coverage includes how to work with XML documents and make XPath queries.
The course includes the use of LINQ to make queries of data, regardless of its location. Coverage includes using LINQ to Objects, LINQ to SQL, LINQ to DataSets and LINQ to XML, as well as how PLINQ can be used to make efficient queries on large sets of data located in memory.
Students learn about .NET's support for n-tiered application development, including encapsulating functionality in private and shared assemblies. Students also explore how to create and consume WCF services to build distributed systems.
The course includes coverage of attributes and reflection, and how to leverage attributes and reflection to design creative, robust solutions to common design problems.
The course concludes by examining how .NET code can interact with legacy code via features like PInvoke and COM Interop.
Other topics include: overriding System.Object methods; boxing and unboxing issues; when to use the String vs. StringBuilder types; working with data in other cultures (internationalization); and pattern matching using regular expressions.
Comprehensive labs provide students with extensive experience coding with Visual Studio to practice with the topics presented throughout the course.
Course Prerequisites: C# programming experience.
Advanced .NET Framework Programming Using C# Course Overview:
Working with Types
|
Object-Oriented Programming
|
Working with Text
|
Collections and Generics
|
Working with Delegates
|
Managing Data with ADO.NET
|
Working with XML Data
|
Working with LINQ
|
Working with Threads
|
Working with the ThreadPool
|
Working with the Parallel Task Library
|
Assemblies
|
Working with Attributes
|
Using Reflection
|
Windows Communication Foundation (WCF)
|
.NET Interoperability
|
Student Testimonials
"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

