Experience Embedded

Professional Training, Consulting and Project Support

C# Advanced Training - Live Online Training

  • Content
     
  • Objectives
     
  • Participants
     
  • Requirements
     

You know extended language constructs and methods in C#.

Software developers, software architects

Solid knowledge of the C# basics as covered in our training "C# Programming with .NET"

C# Version Overview

Useful Language Features in C#

  • Partial classes
  • Partial methods
  • Automatic properties and their functions
  • Automatic type inference
  • Anonymous types
  • Simplified object initialization
  • Optional and named parameters- dos and don'ts
  • Dynamic data type
  • Memory layout adjustment for structures (e.g. for unions in C#)
  • Exercise: Practical use of language extensions

Extension Methods

  • Programming, use, limitations
  • Exercise: Creating extension methods

Generic Classes (Generics) in C#

  • Using generic classes
  • Creating a generic class
  • Using constraints for type parameters
  • Generic methods
  • Nullable types
  • Exercise: Implementing a generic class

Extended Delegate Methods

  • Anonymous methods
  • Lambda expressions
  • Using Lambda expressions as callback
  • Asynchronous call of delegates
  • Exercise: Working with callbacks

Creating Own Collection Classes

  • Overview of collection interfaces
  • Using and programming enumerators
  • 'yield' operator
  • Exercise: Implementing the enumerator interface

Language Integrated Query (LINQ)

  • Formulating LINQ queries
  • LINQ operations
  • Exceptions and LINQ
  • LINQ to objects
  • LINQ to SQL
  • LINQ to XML
  • Parallel LINQ (PLINQ)
  • Exercise: Using LINQ for data selection

Asynchronous Programming with async and await

  • Definition of 'async' and 'await'
  • How can an asynchronous method return values?
  • Creating own asynchronous tasks
  • How to make an own class 'awaitable'
  • Examples

Reflection

  • Collecting information about types
  • Method execution
  • Reading and setting property and field values
  • Querying attributes
  • Loading assemblies at runtime
  • Exercise: Unknown type reflection

Data Serialization

  • XML serialization
  • Contract serialization

Regular Expressions

  • Overview
  • Searching and replacing text

Exercises in the C# Advanced Training

  • Practical use of language extensions
  • Creating extension methods
  • Implementing a generic class
  • Using anonymous methods and Lambda expressions
  • Implementing the enumerator interface
  • Using LINQ for data selection
  • Unknown type reflection
  • The practical exercises are carried out after working through the related topics

MicroConsult PLUS

  • We will provide you with a download link for your exercises and the solutions from this workshop.

The training price includes:
Training documentation, your training certificate and target HW etc. where required.


ALL INCLUSIVE!

Live-Online-Training

Duration
3 days
Training code: LE-C#-FOR
* Price per attendee, in Euro plus VAT

> Registration form download (PDF)
> Training details as PDF

Face-To-Face - English

Duration
3 days  

Live Online - German

Date Duration
13.05. – 15.05.2024 3 days  

Face-To-Face - German

Date Duration
17.03. – 19.03.2025 3 days  

C# Advanced Training - Live Online Training

Content

C# Version Overview

Useful Language Features in C#

  • Partial classes
  • Partial methods
  • Automatic properties and their functions
  • Automatic type inference
  • Anonymous types
  • Simplified object initialization
  • Optional and named parameters- dos and don'ts
  • Dynamic data type
  • Memory layout adjustment for structures (e.g. for unions in C#)
  • Exercise: Practical use of language extensions

Extension Methods

  • Programming, use, limitations
  • Exercise: Creating extension methods

Generic Classes (Generics) in C#

  • Using generic classes
  • Creating a generic class
  • Using constraints for type parameters
  • Generic methods
  • Nullable types
  • Exercise: Implementing a generic class

Extended Delegate Methods

  • Anonymous methods
  • Lambda expressions
  • Using Lambda expressions as callback
  • Asynchronous call of delegates
  • Exercise: Working with callbacks

Creating Own Collection Classes

  • Overview of collection interfaces
  • Using and programming enumerators
  • 'yield' operator
  • Exercise: Implementing the enumerator interface

Language Integrated Query (LINQ)

  • Formulating LINQ queries
  • LINQ operations
  • Exceptions and LINQ
  • LINQ to objects
  • LINQ to SQL
  • LINQ to XML
  • Parallel LINQ (PLINQ)
  • Exercise: Using LINQ for data selection

Asynchronous Programming with async and await

  • Definition of 'async' and 'await'
  • How can an asynchronous method return values?
  • Creating own asynchronous tasks
  • How to make an own class 'awaitable'
  • Examples

Reflection

  • Collecting information about types
  • Method execution
  • Reading and setting property and field values
  • Querying attributes
  • Loading assemblies at runtime
  • Exercise: Unknown type reflection

Data Serialization

  • XML serialization
  • Contract serialization

Regular Expressions

  • Overview
  • Searching and replacing text

Exercises in the C# Advanced Training

  • Practical use of language extensions
  • Creating extension methods
  • Implementing a generic class
  • Using anonymous methods and Lambda expressions
  • Implementing the enumerator interface
  • Using LINQ for data selection
  • Unknown type reflection
  • The practical exercises are carried out after working through the related topics

MicroConsult PLUS

  • We will provide you with a download link for your exercises and the solutions from this workshop.