Softwareentwicklung mit C# 2.0



Ähnliche Dokumente
Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

Über die Herausgeber


Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse

Die Computerwerkstatt

IT-Projektverträge: Erfolgreiches Management

Basiswissen Medizinische Software

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Michael Kurz Martin Marinschek

Basiswissen Software-Projektmanagement

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen.

Basiswissen Medizinische Software

Dr. Carola Lilienthal

Professionell blitzen mit dem Nikon Creative Lighting System

München 2014) und»uml2 glasklar«(carl Hanser Verlag München

VMware vrealize Automation Das Praxisbuch

Fotografieren lernen Band 2

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

Basiswissen Software- Projektmanagement

ipad Air 2 und ipad mini 3

Konfigurationsmanagement mit Subversion, Ant und Maven

Software modular bauen

Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel. Classroom. Eine Einführung in die objektorientierte Modellierung

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

IT-Servicemanagement mit ITIL V3

CNC-Fräsen für Maker und Modellbauer

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO Eine Einführung für Manager und Projektleiter

Datawarehousing mit SAP BW 7

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

Jochen Bartlau. List & Label. schnell + kompakt

Praxiswissen TYPO3 CMS 7 LTS

Praxisbuch BI Reporting

IT-Servicemanagement mit ITIL V3

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren

IT-Controlling für die Praxis

Dr. Michael Hahne

Tobias H. Strömer. Online-Recht. Juristische Probleme der Internet-Praxis erkennen und vermeiden. 4., vollständig überarbeitete Auflage

Der Autor ist seit dem Jahr 2001 bei der Firma GeNUA mbh als Security Consultant und gegenwärtig als Koordinator für Intrusion Detection tätig.

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

JavaScript kinderleicht!

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

Gelassenheit gewinnen 30 Bilder für ein starkes Selbst

Prof. Dr. Matthias Knoll

Grundmann Rathner Abschlussprüfungen Bankwirtschaft, Rechnungswesen und Steuerung, Wirtschafts- und Sozialkunde

IT-Service-Management mit ITIL 2011 Edition

Soft Skills für Softwareentwickler

Cloud-Computing für Unternehmen

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Thomas Meuser Hrsg. Promo-Viren. Zur Behandlung promotionaler Infekte und chronischer Doktoritis 3., kurierte Auflage

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

Professionelle Seminare im Bereich MS-Office

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Maik Schmidt

Wir machen neue Politik für Baden-Württemberg

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Gruppenrichtlinien und Softwareverteilung

Mit freundlicher Unterstützung von: Die Tipps der Millionäre

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Alle gehören dazu. Vorwort

LineQuest-Leitfaden LineQuest Dialog-Portal. Generieren der LineQuest-Auswertungsdatei

Basiswissen Softwaretest

Vorbereitung einer Grafik zum Druck einer Glotze aus, Stadion an! -Zaunfahne Torsten Bunde, Stand 5. Juli 2014

Woche 1: Was ist NLP? Die Geschichte des NLP.

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Alltag mit dem Android Smartphone

Schnellstart - Checkliste

Anleitung über den Umgang mit Schildern

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Audiospektrum- Analyse mit Mikrocontrollern

Über die Autoren.

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Rüdiger Zarnekow Lutz Kolbe. Green IT. Erkenntnisse und Best Practices aus Fallstudien

Terminabgleich mit Mobiltelefonen

Kennzahlen in der IT

Was meinen die Leute eigentlich mit: Grexit?

Was ist Sozial-Raum-Orientierung?

Ein Vorwort, das Sie lesen müssen!

Leichte-Sprache-Bilder

SF-RB. Zeit- und Aufgabenmanagement. SF-Software Touristiksoftware

Jetzt neu: Online Reporting Schritt für Schritt durch das Online Reporting (OLR) Online Liedmeldung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Latein kann ich auch - Rom und die Römer

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

B: bei mir war es ja die X, die hat schon lange probiert mich dahin zu kriegen, aber es hat eine Weile gedauert.

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

career:forum. Traumberuf JournalistIn: Das kleine 1x1 der Freiberuflichkeit SSC-screenBOOK Texte und Bilder zum lesen am Bildschirm

Installationsanleitung für Add-on Paket: Preset Collection Seasons

Statuten in leichter Sprache

Anleitung zum Öffnen meiner Fotoalben bei web.de

Hans-Joachim Stein (Hrsg.) So einfach ist das?

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Transkript:

Hanspeter Mössenböck Softwareentwicklung mit C# 2.0 Ein kompakter Lehrgang 2., aktualisierte und erweiterte Auflage

Prof. Dr. Hanspeter Mössenböck Johannes Kepler Universität Linz Institut für Systemsoftware und Christian Doppler Labor für Automated Software Engineering Altenbergerstraße 69 A-4040 Linz E-Mail: moessenboeck@ssw.uni-linz.ac.at http://www.ssw.uni-linz.ac.at Lektorat: Christa Preisendanz Copy-Editing: Ursula Zimpfer, Herrenberg Satz: FrameMaker-Dateien vom Autor Herstellung: Birgit Bäuerlein Umschlaggestaltung: Helmut Kraus, www.exclam.de Druck: Koninklijke Wöhrmann B.V., Zutphen, Niederlande Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.ddb.de> abrufbar. ISBN 3-89864-406-5 2., aktualisierte und erweiterte Auflage Copyright 2006 dpunkt.verlag GmbH Ringstraße 19 B 69115 Heidelberg Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen. 5 4 3 2 1 0

v Vorwort zur 2. Auflage Als die erste Auflage dieses Buches erschien, war C# noch eine etwas exotische Programmiersprache, die von manchen Leuten mit Skepsis betrachtet wurde und deren Chancen, sich gegen Java oder C++ durchzusetzen, ungewiss waren. Mittlerweile hat sich C# sowohl in der Industrie als auch an Hochschulen etabliert. Viele Firmen setzen bei neuen Projekten auf Microsofts.NET-Plattform und auch immer mehr bestehende Projekte werden von Win32 auf.net umgestellt. Damit wächst natürlich auch das Interesse an C# als der»haussprache«von.net. In der zweiten Auflage dieses Buches wurden die neuen Sprachmerkmale von C# 2.0, zu denen es in der ersten Auflage nur eine kurze Vorschau gab, in das Buch integriert und ausgebaut. Es gibt jetzt ein eigenes Kapitel über generische Bausteine und eines über Iteratoren. Weitere Neuerungen von C# 2.0 wie anonyme Methoden, partielle Typen oder statische Klassen wurden direkt in die passenden Kapitel integriert. Das Buch bietet also jetzt ein rundes und vollständiges Bild von C# 2.0. Mittlerweile kündigt sich sogar schon C# 3.0 an. Auch hier wird es wieder einige neue und mächtige Features geben, die vor allem die Verarbeitung großer Datenmengen im Hauptspeicher mittels SQL-artiger Query-Ausdrücke erlauben. Zusätzlich bietet C# 3.0 so genannte Lambda-Ausdrücke als Kurzform anonymer Methoden sowie die Möglichkeit, Erweiterungsmethoden von außen zu bestehenden Klassen»dazuzumischen«. Nicht zuletzt werden in C# 3.0 auch so genannte anonyme Typen als Projektion auf existierende Typen eingeführt sowie eine neue Art, Objekte mittels Objektinitialisierern zu befüllen. Alle diese neuen Eigenschaften werden in einem Vorschaukapitel ausführlich beschrieben und mit Beispielen erläutert. Wie auch in der ersten Auflage enthält dieses Buch am Ende jedes Kapitels zahlreiche Übungsaufgaben, zu denen es unter http://dotnet.jku.at Musterlösungen gibt. Somit ist das Buch nicht nur für den Unterricht, sondern auch zum Selbststudium geeignet. Ich bedanke mich bei den Lesern der ersten Auflage für die vielen (meist positiven) Zuschriften und bin auch weiterhin für alle Anregungen offen. Hanspeter Mössenböck Februar 2006

vi

vii Vorwort zur 1. Auflage C# (sprich see sharp) ist Microsofts Antwort auf Java. C# ist eine moderne Programmiersprache für Praktiker, in der die neuesten Konzepte der Softwaretechnik wie Objektorientierung, Komponentenorientierung, Sicherheit, Versionierbarkeit, Parallelität, Ausnahmebehandlung, Reflection und vieles mehr vereinigt sind. Wozu aber schon wieder eine neue Programmiersprache? Haben wir nicht bereits Java, C++, Visual Basic und all die anderen Sprachen? Der Grund, warum Microsoft C# einführte, heißt.net (dot net)..net ist Microsofts neue Software- Plattform, die mit vielen Problemen der Windows-Programmierung aufräumt. Herkömmliche Sprachen können unter.net zwar eingesetzt werden, reizen es aber nicht aus. Deshalb hat Microsoft mit C# eine neue Haussprache geschaffen, die optimal zu.net passt. Wer unter.net arbeitet, wird früher oder später nicht darum herumkommen, auch C# zu erlernen, was übrigens nicht schwer ist, denn C# ist stark an Java und C++ angelehnt und mit den meisten herkömmlichen Sprachen binärkompatibel. Als objektorientierte Sprache bietet C# Klassen und Interfaces mit einfacher Codevererbung und mehrfacher Schnittstellenvererbung. Die komponentenbasierte Programmierung wird mit neuen Sprachelementen wie Properties, Events und Delegates unterstützt. Die Komponenten, die unter.net Assemblies heißen, sind dynamisch ladbar und tragen eine Versionsnummer, mit der der Lader sicherstellt, dass Software immer in der korrekten Version verwendet wird. Durch digital signierte Assemblies wird schließlich Viren ein Riegel vorgeschoben. Inhalt Dieses Buch beschreibt den gesamten Sprachumfang von C# in kompakter Form. Von den einfachen Datentypen und Anweisungen über die objektorientierte und komponentenbasierte Programmierung bis hin zu Threads, Exceptions, Attributen und automatisch generierter Dokumentation wird der Leser mit allen Eigenschaften von C# vertraut gemacht. Die einzelnen Sprachelemente werden anhand von Beispielen beschrieben. Im Anhang findet sich dann die Grammatik von C#, die für jedes Sprachelement seine genaue Syntax angibt.

viii Vorwort zur 1. Auflage Keine Programmiersprache kommt heute ohne Klassenbibliothek aus. Deshalb gibt dieses Buch auch einen Überblick über die reichhaltige Bibliothek von.net, die Typen für alle erdenklichen Zwecke bereithält: von einfachen Datenstrukturen wie Listen, Mengen oder Hashtabellen über Ein-/Ausgabeklassen, Netzwerkklassen, grafische Benutzeroberflächenelemente bis hin zu fortgeschrittenen Themen wie Reflection oder Web-Programmierung..NET und C# unterstützen die Internet-Programmierung. Dazu gehören unter anderem Web-Services (Business-to-Business-Dienste im Internet) und dynamische Webseiten, die mit der neuen ASP.NET-Technologie erstellt werden. In Form von Fallstudien zeigt dieses Buch, wie man Web-Services und dynamische Webseiten mit ASP.NET entwickelt. Die Fallstudien behandeln auch grafische Benutzeroberflächen und ihre Erstellung mittels Windows Forms und der Entwicklungsumgebung Visual Studio.NET. Obwohl mit C# und.net eine neue Ära der Windows-Programmierung angebrochen ist, werden die Brücken zur älteren Win32-Technologie und zu COM nicht abgerissen. Eines der Kapitel dieses Buchs zeigt, wie man COM-Komponenten von.net aus aufrufen kann und umgekehrt. C# ist eine lebende Sprache. Für die nächste Version von.net wurden neue Sprachelemente wie generische Typen, Iteratoren, anonyme Methoden und partielle Typen angekündigt. Obwohl diese Elemente zum Zeitpunkt des Erscheinens dieses Buchs noch nicht verfügbar waren, ist ihnen bereits ein Kapitel gewidmet, weil sie wesentlich zur Mächtigkeit und bequemen Benutzung von C# beitragen. Zielpublikum Dieses Buch richtet sich an Praktiker, die C# kennen lernen wollen, sowie an Studenten, die diese Sprache in fortgeschrittenen Lehrveranstaltungen zum Thema Objektorientierung, Komponentenorientierung oder.net einsetzen. Am Ende jedes Kapitels findet man zahlreiche Übungsaufgaben, zu denen es unter http:// dotnet.jku.at Musterlösungen gibt. Dadurch ist das Buch auch zum Selbststudium geeignet. Mein Dank gilt vor allem meinen Mitarbeitern Wolfgang Beer, Dietrich Birngruber und Albrecht Wöß, mit denen ich.net und C# im Unterricht sowie in Projekten einsetze. Die Microsoft-Fachleute in Redmond, Cambridge und Wien hatten für Fragen immer ein offenes Ohr. Ich danke vor allem Jim Miller, Eric Gunnerson, Don Syme, Van Eden, Ralph Zeller und Alexander Holy. Nicht zuletzt sei auch den anonymen Gutachtern gedankt, die das Manuskript dieses Buchs mit großer Sorgfalt lasen. Hanspeter Mössenböck Mai 2003