logo-mc-rgb-300x300 (MicroConsult)

MicroConsult Academy GmbH

https://www.microconsult.de/

C# für Fortgeschrittene (Seminar)

Datum:

01.02.2027 - 03.02.2027

Veranstaltungsort:

München, MicroConsult

Beschreibung:

MicroConsult Academy GmbH

Sie kennen erweiterte Sprachkonstrukte und Techniken der Sprache C#.


Inhalt


Überblick über die Versionen der Programmiersprache C#

 

Nützliche Sprachmerkmale von C#

  • Partielle Klassen

  • Partielle Methoden

  • Wie funktionieren automatische Properties?

  • Was steckt hinter der automatischen Typerkennung (Type Inference)?

  • Anonyme Typen

  • Vereinfachte Initialisierung von Objekten

  • Optionale und benannte Parameter - Dos and Don'ts

  • Der dynamische Datentyp

  • Anpassung des Speicherlayouts bei Strukturen (z.B. für Unions in C#)

  • Übung: Anwenden der Spracherweiterungen in der Praxis

 

Erweiterungsmethoden

  • Programmierung, Einsatz und Einschränkungen

  • Übung: Erstellen von Erweiterungsmethoden

 

Generische Klassen (Generics) in C#

  • Benutzung generischer Klassen

  • Erstellung eigener generischer Klassen

  • Der Einsatz von Bedingungen (Constraints) für den Typparameter

  • Generische Methoden

  • Nullable Types

  • Übung: Implementieren einer generischen Klasse

 

Erweiterte Delegate-Techniken

  • Anonyme Methoden

  • Lambda-Ausdrücke

  • Der Einsatz von Lambda-Ausdrücken als Callback

  • Asynchroner Aufruf von Delegates

  • Übung: Verwenden von Callbacks

 

Erstellen eigener Collection-Klassen

  • Überblick über die Collection-Interfaces

  • Anwendung und Programmierung von Enumeratoren

  • Der Operator 'yield'

  • Übung: Implementieren des Enumerator-Interfaces

 

Language Integrated Query (LINQ)

  • Formulierung von LINQ-Abfragen

  • Vorstellung der LINQ-Operationen

  • Exceptions und LINQ

  • LINQ to Objects

  • LINQ to SQL

  • LINQ to XML

  • Paralleles LINQ (PLINQ)

  • Übung: Nutzung von LINQ zur Selektion von Daten

 

Asynchrone Programmierung mit async und await

  • Was steckt hinter den Schlüsselwörtern 'async' und 'await'?

  • Wie kann eine asynchrone Methode Werte zurückgeben?

  • Erstellung eigener asynchroner Tasks

  • Wie kann eine eigene Klasse 'awaitable' gemacht werden?

  • Demonstration von Beispielen

 

Reflection

  • Sammeln von Informationen über beliebige Typen

  • Ausführen von Methoden

  • Lesen und Setzen von Property- und Field-Werten

  • Abfragen von Attributen

  • Laden von Assemblies zur Laufzeit

  • Übung: Reflektieren eines unbekannten Typs

 

Hinweise zu typischen Programmieraufgaben

  • Überladen der Vergleichsoperatoren

  • Implementieren einer Dispose()-Methode

  • Einsatz der WeakReferenz

  • Bedingte Kompilierung von C#-Code

  • Demonstration von Beispielen

 

Übungen im C# Kurs für Fortgeschrittene

  • Anwenden der Spracherweiterungen in der Praxis

  • Erstellen von Erweiterungsmethoden

  • Implementieren einer generischen Klasse

  • Einsatz von anonymen Methoden und Lambda-Ausdrücken

  • Implementieren des Enumerator-Interfaces

  • Nutzung von LINQ zur Selektion von Daten

  • Reflektieren eines unbekannten Typs

  • Die Übungen werden jeweils nach Abschluss der entsprechenden Themen durchgeführt