Select Page
.NET Programming Using C# part B

This rapid fire course teaches a number of advance C# programming topics using practical examples to illustrate their use.


Intermediate / Advanced

2 Day Course

Certification Awarded


Study materials

Learning options for this course

Classroom Training


This course can be taken at our Training Centre in Dublin 2. Socially distanced learning. Full interaction with expert trainers.

Live Virtual Classroom

Virtual Classroom

Daytime or evenings using iLiveLearning. Full interaction with the trainer, just like in the classroom. Software provided.

Skills You will have at the end of the Course

  • Delegates and Events
  • Operator Overloading
  • Regular Expression Handling
  • XML
  • LINQ
  • Entity Framework
  • Serialization
  • Reflection
  • Inversion of Control with Dependency Injection
  • Platform Invocation Services and Unsafe code
  • Custom Attributes
  • Thread and Asynchronous Programming

Course overview

This two day course teaches advanced programming techniques for the C# language. Extensive fully worked examples are used to illustrate the points raised in the course, and to provide hands-on experience, together with a comprehensive course manual.



This course assumes that attendees have previous C# programming experience at least to the standard provided by the course “.NET Programming using C# part A”


At the end of the course, you’ll be Certified by the Irish Academy of Computer Training

IACT Certification

Who would benefit

A C# developer looking to improve their C# skill set.

Why take the Course

To improve your knowledge of modern advanced programming techniques using the C# language.

Online Option


Course curriculum

Section 1 : Delegates and Events
Introduction to delegates and events. Multicast delegates. Defining a Delegate for an event. Using EventArgs. Declaring and firing an event. Acting on an event with an event handler.
Section 2 : Operator Overloading
Overloadable operators. Implementing Value Equality. Logically paired operators. Custom implicit and explicit conversions. Three-state logic operators.
Section 3 : Regular Expression Handling
Using the Regex class. Match and MatchCollection classes. Creating regular expressions for matching text. Procedural and Expression-based patterns. Example patterns such as detecting IP addresses, removing leading path from filename, extracting all numbers from a string.
Section 4 : XML
Accessing XML documents with XmlReader and XmlWriter. Parsing an XML stream with XmlDocument. Selecting nodes using XPath. XML and the XPathDocument class. Transforming a document using XSLT.
Section 5 : LINQ
Standard Query Operators, LINQ to Objects, Deferred Execution, LINQ to XML, LINQ to Sql, Extension Methods, Lambda Expressions, Comprehension Query Syntax.
Section 6 : Entity Framework
Entity Data Model Designer, Calling Stored Procedures, Inserting Records, Updating Records, Deleting Records.
Section 7 : Serialization
Introduction to Serialization. Explicit and implicit serialization.IDeserialization callback and ISerializable.
Section 8 : Reflection
Type hierarchy. AppDomains, assemblies and modules. Retrieving the type for an instance. Late binding. Creating new types at runtime.
Section 9 : Inversion of Control with Dependency Injection
Dependency Inversion Principle. Inversion of Control. Dependancy Injection. Constructor Injection. Method Injection. Property Injection.
Section 10 : Platform Invocation Services and Unsafe code
Calling exported functions from DLLs.

The ‘DllImport’ attribute. Using ‘unsafe’ and ‘fixed’ to write code to use native pointers and control garbage collection.

Section 11 : Custom Attributes
The Attribute Usage attribute. Defining a new custom attribute. Retrieving a Custom Attribute at runtime.
Section 12 : Thread and Asynchronous Programming
The thread class. Starting, aborting, suspending and resuming a thread. Thread safety. The Monitor class. The ThreadPool class. Synchronization issues. Asynchronous Programming using Async/Await. Creating an Asynchronous WCF Service. Calling a WCF Service Asynchronously.

Contact us.

We'll reply quickly.


  • This field is for validation purposes and should be left unchanged.

I understand that my personal data is being processed in accordance with the privacy notice and accept the terms and conditions of use.

  • No products in the cart.