C# Aufbaukurs mit Visual Studio 2017

In diesem Semiar über die Programmiersprache C# werden anspruchsvolle Themen für fortgeschrittene Programmierer vorgestellt. Ein Intensivtraining für Software-Entwickler in Firmen, die mit C# und Visual Studio professionell programmieren wollen. Zusammen mit dem zugehörigen C#-Grundkurs werden C# und Visual Studio 2017 umfassend und kompakt vorgestellt.

Der Dozent Prof. Richard Kaiser hat bereits weit über 100 Seminare bei Firmen über C# und C++ gehalten. Zu seinen Kunden gehören renommierte Weltkonzerne und kleine und mittelständische Unternehmen. Er kennt die Anforderungen der Praxis und geht sowohl in den grundlegenden Konzepten als auch in den Einzelheiten detailliert darauf ein.

Inhalt C# Aufbaukurs:

Die Inhalte (hier ausführlich als pdf) können an die Wünsche der Teilnehmer angepasst werden.

1. Statische Variablen, Methoden und Klassen

  • Statische Klassenelemente
  • Überladene Operatoren
  • Erweiterungsmethoden

2. Generische Programmierung

  • Generische Methoden und Klassen
  • Typparameter-Einschränkungen (Constraints)

3. Interface-Klassen

  • Die Definition und Implementation von Interface-Klassen.
  • Interface-Klassen und Vererbung
  • Typische Anwendungsfälle und generische Interfaces
  • Beispiele: IComparable, IEnumerable, IClonable, IFormatable Iteratoren,
  • IEnumerator und die foreach-Anweisung
  • Iteratoren und die yield-Anweisung
  • Generische Interface-Klassen: IEnumerable<T>
  • Kovariante und kontravariante Typ-Parameter
  • IFormattable: Die Formatierung selbstdefinierter Klassen
  • Entwurfsmuster (Software Design Patterns): Factory Pattern und Strategy Pattern

4. Exception-Handling

  • Die try-Anweisung
  • Die Basisklasse Exception
  • Einige vordefinierte Exceptions
  • throw-Anweisungen
  • Exceptions und Intellisense
  • Selbstdefinierte Exception-Klassen
  • Die Freigabe von Ressourcen, try-finally und die using-Anweisung
  • Die Protokollierung von Exceptions in einem EventLog

5. Delegat-Typen, Lambda-Ausdrücke und Ereignisse

  • Delegat-Typen und –Instanzen
  • Generische Delegat-Typen: Action und Func
  • Operationen zur Verwaltung von Aufruflisten
  • Anonyme Methoden, Lambda-Ausdrücke
  • LINQ Abfrageausdrücke (from, select, where, orderby usw.)
  • LINQ Abfrageausdrücke als Methodenaufrufe
  • Ereignisse (events)

6. Laufzeit-Typinformationen und Reflektion

  • Laufzeit-Typinformationen der Klasse Type
  • Reflektion mit der Klasse Assembly
  • Dynamisch erzeugte Datentypen und Plugins

7. Attribute

  • Vordefinierte Attribute
  • Selbstdefinierte Laufzeitattribute

8. Uhrzeiten, Kalenderdaten und Timer

  • Die Klassen DateTime und TimeSpan
  • Timer und zeitgesteuerte Ereignisse
  • Hochauflösende Zeitmessung mit der Klasse Stopwatch
  • Kulturspezifische Datumsformate und Kalender

9. Multithreading und Asynchrone Programmierung

  • Multithreading mit der Task Parallel Library (TPL)
  • Funktionen als Threads starten: Task.Factory.StartNew und Task.Run
  • Fortsetzungen (Continutions): Tasks nacheinander ausführen
  • Reaktionsfähige Oberflächen: Auf Steuerelemente in Tasks zugreifen
  • Tasks abbrechen
  • Asynchrone Programmierung mit async und await
  • Kritische Abschnitte und die Synchronisation von Threads
  • Datenparallelität: Parallel.For und Parallel.ForEach
  • Ältere Konzepte: Die Klassen Thread und BackgroundWorker

10. Reguläre Ausdrücke

 

Beurteilungen von Teilnehmern dieses Seminars:

C# Aufbaukurs Teilnehmerbeurteilungen

Organisatorisches:

Zielgruppe: Software-Entwickler, die die wichtigsten Grundlagen von C# lernen wollen, um professionelle Programme zu schreiben.

Voraussetzungen: C#-Kenntnisse im Umfang des C#-Grundkurses.

Unterrichtsstil: Vortrag mit vielen Beispielen, die das Wesentliche auf den Punkt bringen. Eine ausgewogene Verbindung von Theorie und Praxis.

  • Zu Beginn eines neuen Themas wird zunächst ein Überblick über die Einsatzmöglichkeiten, Grundideen und die Syntax gegeben. Diese werden an sorgfältig ausgewählten und bewährten Beispielen illustriert.
  • Das Verständnis wird oft durch den Vergleich ähnlicher (auch älterer) Sprachelemente und ihrer Vor- und Nachteile vertieft. Dabei werden oft “best practises” empfohlen.
  • Falls die Teilnehmer ihr Wissen selbständig vertiefen wollen: Das Manuskript enthält zahlreiche praxisnahe Übungsaufgaben. Auf Wunsch können nach vorheriger Absprache auch Aufgaben aus der Arbeit der Seminarteilnehmer behandelt werden.

Flexibilität: Falls sich im Lauf des Seminars  zeigt, dass Grundlagen bei den Teilnehmern fehlen oder weitere Themen gewünscht werden, kann die Agenda auch noch während des Seminars an die Wünsche der Teilnehmer angepasst werden.

Manuskript: Ausführliche und detaillierte Schulungsunterlagen (ca. 200 Seiten) – Vollständiger Text, keine Powerpoint Folien, die nur Stichworte enthalten. Deshalb können die Kursunterlagen auch als Referenz bei der Arbeit verwendet werden.

Ort und Zeit: Dieses Seminar wird als Firmenseminar (inhouse) angeboten.

Dauer: 5 Tage

Kontakt: siehe hier