C# für Fortgeschrittene
Kurs
In Reutlingen

Beschreibung
-
Kursart
Kurs
-
Niveau
Fortgeschritten
-
Ort
Reutlingen
-
Dauer
3 Tage
Der sichere Umgang mit Ausnahmen, dem Grabage-Collector, CLR-Hosting, Asynchronen Operationen und Threadsynchronisierung (lediglich ein Auszug aus der Liste).
Gerichtet an: Der erfahrene C# Programierer der mehr über C# Internas lernen will.
Standorte und Zeitplan
Lage
Beginn
Beginn
Hinweise zu diesem Kurs
Erfahrung in der Entwicklung mit dem .NET-Framwork unter C# und Visual Studio.
Meinungen
Dozenten

Ilija Injac
Microsoft .NET Entwicklung
MCTS - .NET Framework Applications 2.0 Microsoft Certified Professional
Inhalte
Kursinhalt
Deep-Dive in die Infrastruktur der CLR
- Ausnahmen
- Die Funktionsweise der Ausnahmebehandlung
- Der try-Block
- Der catch-Block
- Der finally-Block
- CLS-kompatible und nicht CLS-kompatible Ausnahmen
- Was genau ist eine Ausnahme ?
- Die Klasse System.Exception
- Ausnahmeklassen in der FCL
- Auslösen einer Ausnahme
- Definieren einer eigenen Ausnahmeklasse
- Wie Sie Ausnahmen richtig setzen
o Überprüfen Ihrer Argumente in Ihren Methoden
o Fangen Sie nicht alles ab
-
- Bereinigen der Situation nach dem Abfangen der Ausnahmen
- Teilweise ausgeführte Operationen abbrechen
- Verstecken von Implementierungsdetails
- Automatische Speicherverwaltung
- Ressourcen vom verwalteten Heap anfordern
- Der Garbage Collection Algorythmus
- Verwenden des Objekabschlusses zum freigeben nativer Ressourcen
- Garantierter Abschluss mithilfe von CriticalFinalizerObject-Typen
- SafeHandle und davon abgeleitete Typen
- Zusammenarbeit mit nicht verwaltetem Code mithilfe von SafeHandle-Typen
- Abschluss für verwaltete Ressourcen
- Wann werden Finalize-Methoden aufgerufen ?
- Interna des Objektabschlusses
- Das Beseitigungsmuster: Ein Objekt zum Aufräumen zwingen
- Einen Typ benutzen, der das Beseitigungsmuster implementiert
- Die c# Anweisung using
- Die Lebensdauer von Objekten überwachen und von Hand steuern
- Den Erfolg einer Operation vorhersagen, die viel Speicher braucht
- Den Garbage-Collector von Hand steuern und überwachen
- Synchronisationsfreie Objekterstellung
- Skalierbare parallele Garbage Collection
- Garbage Collection im Hintergrund
- Große Objekte
- Garbage Collections überwachen
- CLR-Hosting und AppDomains
- CLR-Hosting
- AppDomains
- Entladen einer AppDomain
- Erweiterte Hoststeuerung
- Die CLR mit verwaltetem Code verwalten
- Eine robuste Hostanwendung schreiben
- Wie ein Host seinen Thread zurückbekommt
- Laden von Assemblies und Reflektion
- Laden von Assemblies
- Mithilfe von Reflektion eine dynamisch erweiterbare Anwendung erstellen
- Leistungsaspekte bei der Reflektion
- Ermitteln, welche Typen in einer Assembly definiert sind
- Was genau ist ein Typobjekt ?
- Erstellen einer Hierarchie aller Typen, die von Exception abgeleitet sind
- Eine Instanz eines Typs anlegen
- Entwerfen einer Anwendung, die Add-Ins unterstützt
- Mithilfe der Reflektion die Member eines Typs ermitteln
- Binding-Flags: Filtern, welche Arten von Membern zurückgegeben werden
- Die Schnittstelle eines Typs ermitteln
- Member eines Typs aufrufen
- Einmal binden, mehrmals aufrufen
- Verkleinern der Arbeitsseiten mithilfe von Bindungshandles
- Durchführen von Asynchronen Operationen
- Wie die CLR Windows-Threads benutzt
- Grundlagen des Threadpools der CLR
- Die Anzahl der Threads im Threadpool einschränken
- Durchführen einer asynchronen Rechenoperation mithilfe des Threadpools
- Eine asynchrone Rechenoperation regelmäßig ausführen
- Grundlagen des Asynchronen Programming Model
- Threadsynchronisierung
- Speicherkonsistenz,flüchtiger Speicherzugriff und flüchtige Felder
- Die Interlockmethoden
- Die Klasse Monitor und Syncronisationsblöcke
- Die Klasse ReaderWriterLock
- Windows-Kernelobjekte aus verwaltetem Code heraus benutzen
Zusätzliche Informationen
Kontaktperson: Ilija Injac
C# für Fortgeschrittene