C# für Fortgeschrittene - Live-Online-Training
Sie kennen erweiterte Sprachkonstrukte und Techniken der Sprache C#.
Software-Entwickler, Software-Architekten
Solide C#-Programmierkenntnisse, wie sie z.B. das Training "C#: Programmierung unter .NET" vermittelt.
Ü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
Serialisierung von Daten
- XML-Serialisierung
- Kontrakt-Serialisierung
Reguläre Ausdrücke
- Überblick
- Suchen und Ersetzen von Texten
Ü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