C# mit Visual Studio 2010 für C++ Sprachumsteiger

In diesem Seminar wird C# 4.0 und die Integration in Visual Studio 2010 umfassend und kompakt vorgestellt. Es richtet sich vor allem an Programmierer mit C++-Erfahrung und zeigt die Unterschiede zwischen C# und C++.

Die Inhalte können an die Wünsche der Teilnehmer angepasst werden.

Zielgruppe:

C++-Programmierer und Software-Entwickler, die den vollen Umfang von C# lernen wollen.

Voraussetzungen:

Voraussetzungen: Gute Kenntnisse und mehrjährige Erfahrung in C++

Methodik:

Vortrag mit vielen Übungen, in denen die Teilnehmer praxisnahe Programme entwickeln.

Manuskript:

Ausführliche und detaillierte Schulungsunterlagen (ca. 200 Seiten)

Ort und Zeit:

Dieses Seminar wird als Firmenseminar (inhouse) angeboten.

Dauer:

5 Tage

Dozent:

 

Prof. Richard Kaiser führt seit vielen Jahren Seminare zu den Themen Programmierung/Software-Entwicklung für Firmen durch (Referenzen).

Er ist der Verfasser der Bücher „C++ mit Microsoft Visual C++ 2008“ und „C++ mit dem Borland C++Builder“ und ist Mitglied im DIN Normierungsausschuss Informationstechnik NI-22.

 

Kontakt: training @ rkaiser . de , www.rkaiser.de
R. Kaiser, Schwärzlocher Straße 53, 72070 Tübingen, Tel. 07071-41598

 


Inhalt

Die Entwicklungsumgebung Visual Studio 2008

Ein einführendes Beispiel
Der Quelltexteditor und IntelliSense

2. .NET-Steuerelemente für die Benutzeroberfläche

Ein- und mehrzeilige Textboxen, Label
ListBoxen und ComboBoxen
Buttons und Ereignisse
CheckBoxen, RadioButtons, GroupBox und Panel
Hauptmenüs und Kontext-Menüs
Standarddialoge

3. Elementare Datentypen und Anweisungen

Variablen: Feld- und Instanzvariablen, Lokale Variablen, Typ-Inferenz mit var

Ganzzahldatentypen (int, char usw.), implizite Konversionen, checked Kontext

Der Datentyp bool
Gleitkommadatentypen: float, double und Decimal (ein präziser Gleitkommatyp)
Elementare Anweisungen (if, for, while usw.)
Der integrierte Debugger
Funktionen, Werte-, ref- und out-Parameter, Default-Argumente, benannte Parameter

Einfache Verweisklassen, Instanz-Elemente, Garbage Collection und statische Elemente

Die Verwendung der .NET-Bibliotheken (z.B. Math)
Gleitkommadatentypen, Decimal für exakte kaufmännische Rechnungen

Konstanten und readonly Feldvariable

Wertetypen, Werte- und Verweissemantik, Aufzählungstypen

Die String-Klasse string

Überladene Methoden und Operatoren

Assemblies – Anwendungen und DLLs

Namensbereiche

Präprozessor-Direktiven
Ausdrücke

4. Arrays und Collection-Klassen

Eindimensionale Arrays und die foreach-Anweisung

Array-Funktionen für Verzeichnisse und Dateien

Die Basisklasse Array

Parameter-Arrays

Sequentielle Collection-Klassen (List<T>, Queue<T>, LinkedList<T>)

Generische Dictionaries, HashSet<T> und SortedSet<T>

5. .NET-Klassen zur Dateibearbeitung

Binärdateien und Textdateien

XML-Dateien

Serialisierung mit BinaryFormatter. SoapFormatter und XmlSerializer

6. Objektorientierte Programmierung: Verweisklassen

Felder und Methoden

Der Gültigkeitsbereich von Klassenelementen

Objekte, Datenkapselung und die Zugriffsrechte private und public

Datenkapselung mit Properties (Eigenschaften)

Der Aufruf von Methoden und der this-Verweis

Konstruktoren, der Standardkonstruktor, Objektinitialisierer, this-Konstruktorinitialisierer

Finalisierer

Statische Elemente, Konstruktoren und Klassen

OO-Analyse und Design: Der Entwurf von Klassen

7. Vererbung und Komposition

Die Elemente von abgeleiteten Klassen

Zugriffsrechte auf die Elemente von Basisklassen

Die Basisklasse System.Object und ihre Methoden

Vererbung bei Formularen in Forms-Anwendungen

OO-Design: Vererbung und „ist ein“-Beziehungen

OO-Design: Komposition und „hat ein“-Beziehungen

Konversionen zwischen abgeleiteten Klassen

Vererbung bei Werteklassen

Virtuelle Funktionen (new und override), späte Bindung und Polymorphie

Abstrakte Klassen und Methoden

Typprüfungen mit is und Typkonversionen mit as

Versiegelte (sealed) Klassen und Methoden

8. 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

9. Interface-Klassen

Die Definition und Implementation

Beispiele: IComparable, IEnumerable, IClonable, IFormatable

10. Delegat-Typen und Events

Delegat-Typen und –Instanzen

Ereignisse (events)

Selbst definierte Komponenten und ihre Ereignisse

Anonyme Methoden

Lambda-Ausdrücke

11. Laufzeit-Typinformationen und Reflektion

Laufzeit-Typinformationen der Klasse Type

Reflektion mit der Klasse Assembly

Dynamisch erzeugte Datentypen und Plugins

12. Attribute

Vordefinierte Attribute

Selbstdefinierte Laufzeitattribute

13. Erweiterungsmethoden

14. Generische Programmierung

Generische Klassen

Typparameter-Einschränkungen (Constraints)

15. Dokumentationskommentare und CHM-Hilfedateien

Aus XML-Dateien Hilfedateien im CHM-Format erzeugen

16. Asynchrone Programmierung und Threads

Multithreading mit der Klasse BackgroundWorker

Ereignisbasierte asynchrone Programmierung

Sleep und Threads

Kritische Abschnitte und die Synchronisation von Threads

17. Die Steuerung von MS-Office Anwendungen

Die Visual Studio Tools für Office 2003/2007/2010

Microsoft.Office.Interop

18. Systeminformationen und –operationen

Aus XML-Dateien Hilfedateien im CHM-Format erzeugen

19. LINQ und PLINQ

20. Reguläre Ausdrücke

 



Stand: 1.1.2012