Advanced C# Programming Course

About the Advanced C# Programming course

The Advanced C# Programming course will take you to the next level as a C# programmer. You will learn more advanced features of the C# programming language and the .NET framework, including threads, collections, web services, XML and security.

What others say

Why you want to attend

You should attend the Advanced C# Programming course if:
  • You are a C# programmer and you want to learn about the advanced aspects of the C# language.
  • You are a C# programmer and you want to learn to write better C# code.

What you need to know first

Before you attend the Advanced C# Programming course:
  • You must have attended our C# Programming course or already be comfortable with the fundamentals of the C# programming language.
  • You should have at least 6 months practical experience programming in C#.

Price and duration

Price: R14,800.00 excluding VAT per delegate. This price includes everything that you need:
  • All course material, provided in an electronic format.
  • An attendance certificate after the course, in PDF format.
Duration: 5 days. The Advanced C# Programming course is presented virtually. Find out more about our virtual training and how it works. This course is only scheduled on request for group bookings. Please contact us to discuss a date.

How to book

It’s so easy to book for the Advanced C# Programming course. Just email us at You can send us a purchase order, or fill in our course enrolment form. After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.

Detailed course contents


  • Review of the .NET platform and the C# language.
  • Portability issues.

Object-Oriented Programming

  • Class hierarchies.
  • Partial classes.
  • Cross-language inheritance.
  • Abstract classes.
  • Sealed classes.
  • Overriding System.Object Methods.
  • Reference types.
  • Casting & conversions.
  • Constructors.
  • Interfaces.

Collections, Structs and Enums

  • .NET Collections.
  • Ordered vs. unordered collections.
  • Object-based classes.
  • Generic collections.
  • Using Structs.
  • Using Enums.

Operator Overloading

  • Overloading mathematical, comparison, conversion operators.
  • Overloading ToString.
  • Overloading GetHashCode.

Reflection and Attributes

  • Intrinsic attributes.
  • Custom attributes.
  • Reflection concepts.
  • Extracting type information.
  • Using reflection at runtime.

File Access and Serialization

  • Manipulating files and directories.
  • Readers and writers.
  • Serialization I/O concepts.
  • Stream objects.
  • Object serialization.

Multithreading in .NET

  • Creating threads.
  • Thread management.
  • Thread synchronization.
  • Thread interoperability.
  • The Thread and ThreadPool classes.

Delegates and Events

  • Callbacks & delegates.
  • Single-cast vs. multi-cast delegates.
  • Delegate types.
  • Usynchronous vs. asynchronous delegates.
  • Custom events.


  • The ADO.NET object model.
  • Connected vs. disconnected access.
  • Connection pooling.
  • Stored procedures.
  • Transactions.
  • Binding data to controls.
  • LINQ and SQL.

.NET Interoperability Services

  • Interactions between managed and unmanaged code.
  • Marshalling data.
  • PInvoke.
  • Callable wrappers.
  • Interop marshalling.


  • Security concepts.
  • Role-Based security.
  • Code Access security.
  • Security policy.
  • XML schemas.
  • XmlReaders and XmlWriters.
  • XmlDocuments.
  • LINQ and XML.

Download the course outline

Download the Advanced C# Programming course outline in PDF format.

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.