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