Beschreibung
In diesem Kurs erlernen sie die fortgeschrittenen Techniken und Konzepte der C#-Sprache. Sie erhalten einen Einblick hinter die Kulissen des .NET 8 – Frameworks und welche Best – Practise Lösungen aktuell sind. Darüber hinaus schauen wir auch auf die Evolution der Programmiersprache C# und wo die Entwicklung der aktuellen .NET 9 Preview / C# 13 Version hinführt. Die Kursteilnehmenden lernen in diesem Seminar die fortgeschrittenen Programmiertechniken zur Entwicklung großer Anwendungen anhand vieler praktischer Beispiele und Übungen kennen. Die Schulungsteilnehmenden erfahren in diesem Training zudem, wie sie die neueren Sprachmittel von C# ausnutzen und komplexe Techniken wie Delegates, Relexions und Multithreading einsetzen.
Agenda Assemblies
-Metadaten
-Manifest
Evolution der Programmiersprache von C# 7.0 bis C# 12
Übersicht über die aktuelle .NET 9 / C# 13 - Entwicklung
Clean Code
-SOLID – Regen von Robert C. Martin
-Dependency Injections – Design Pattern
-Was ist ein IOC-Container?
-Was ist Seperate of Concerne?
-IOC Container im Eigenbau
-Aktuelle IOC-Container in .NET 8
Linq / Lambda
-Erweiterungsmethoden
-Linq-Functions mit Lambda Expressions
-Skip / Take
-Was sind Linq-Queries?
Generics
-Generische Datentypen
-Typproblematik am Beispiel der Klasse Stack
-Typparameter mit Constraints einschränken
-Generische Methoden
-Generics und Vererbung
-Konvertierung von Generics
Delegates und Events
-Delegate - Methodenzeiger unter .NET
-Event und EventHandler in Objekten
Fortgeschrittene Delegate-Techniken
-Generische Delegate
-Generische Klassen in der .NET-Klassenbibliothek
-Multicast-Delegate
Attribute
-Was sind Attribute?
-Flags-Attribut
-Anmerkungen zu den Attributen
-Benutzerdefinierte Attribute
Multithreading
-Prozesse und Threads
-Threadzustände und Prioritäten
-Die Klasse Thread.
-Threadpools nutzen
Synchronisation von Threads
-Monitor zur Synchronisation
-Synchronisationsobjekt Mutex
-Die Barrier - Klasse
Task Parallel Library
-Tasks steuern
-Tasks miteinander verketten
-Exception-Handling in Tasks
-Die Klasse Parallel
-Task in WPF-, MAUI- und WinForm-Anwendungen
Asynchrone Methodenaufrufe
-Verwendung von Tasks
-async/await – Pattern
Arbeiten mit Dateien und Streams
-Datenströme
-Klassen BinaryReader und BinaryWriter
Serialisierung
-Einführung in die Serialisierung
-Serialisierungsverfahren
-Newtonsoft.Json vs. System.Text.Json
-Binäre Formate serialisieren
Assemblies und Reflektion
-Die Struktur einer Assembly
-Mehrfachdatei-Assemblies
-Private und globale Assemblies
-Ein Assembly im GAC installieren
-Die Metadaten mittels Reflektion abfragen
-Das Plugin – Design Pattern
Direktlink zum Seminar