C# mit Methode: Lernen - Verstehen - Anwenden

C# mit Methode: Lernen - Verstehen - Anwenden

von: Christian Bleske (Hrsg.)

C & L Computer- und Literaturverlag GmbH, 2004

ISBN: 9783936546125 , 730 Seiten

Format: PDF, OL

Kopierschutz: DRM

Windows PC,Mac OSX Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 15,00 EUR

Mehr zum Inhalt

C# mit Methode: Lernen - Verstehen - Anwenden


 

Inhalt

6

1 Vorwort

12

2 Entwicklungsumgebungen für C#

16

2.1 VISUAL STUDIO.NET

18

2.2 BORLAND C# BUILDER

50

2.3 VISUAL C# – STANDARD

75

2.4 SHARPDEVELOP

75

2.5 ASP.NET WEB MATRIX

77

2.6 SCHLUßWORT

78

3 Einführung in die Programmiersprache C#

80

3.1 GRUNDLAGEN

81

3.1.1 Hallo Welt

81

3.1.2 Operatoren

83

3.1.3 Grundkonzepte

85

3.1.4 Programme und Assemblies

89

3.2 AUSNAHMEBEHANDLUNG (EXCEPTIONS)

92

3.2.1 Exceptions auslösen

93

3.2.2 Exceptions abfangen

94

3.2.3 Die Syntax des try-catch-finally-Blocks

97

3.2.4 Exceptions bei Überlauf

98

3.3 TYPEN, VARIABLEN PARAMETER

99

3.3.1 Wert- und Referenztypen

99

3.3.2 Variablen

101

3.3.3 Parameter

103

3.3.4 Der typeof-Operator

106

3.3.5 Primitive Typen

107

3.3.6 Zeigertypen

109

3.4 ZEICHENKETTEN (STRINGS)

111

3.4.1 String-Literale

112

3.4.2 String-Literale mit Zeilenumbruch

112

3.4.3 Optimierungen durch den Compiler

113

3.4.4 Veränderbare Strings (StringBuilder)

113

3.4.5 Zeichenketten formatieren

114

3.5 ARRAYS

115

3.5.1 Eindimensionale Arrays

115

3.5.2 Mehrdimensionale Arrays

116

3.5.3 Parameter-Arrays

118

3.6 TYPKONVERTIERUNG

121

3.6.1 Einführung

121

3.6.2 Implizite Konvertierung

122

3.6.3 Explizite Konvertierung

123

3.6.4 Der is-Operator

127

3.6.5 Der as-Operator

127

3.6.6 Boxing und Unboxing

128

3.6.7 Konvertierung von Zeigertypen

129

3.7 ANWEISUNGEN

130

3.7.1 if-Abfrage

130

3.7.2 switch-Anweisung

130

3.7.3 Die while-Schleife

132

3.7.4 Die do-while-Schleife

133

3.7.5 Die for-Schleife

133

3.7.6 Die foreach-Schleife

134

3.7.7 Schleifenablauf verändern

137

3.7.8 Die Sprunganweisung (goto)

138

3.7.9 Die using-Anweisung

139

3.7.10 Die lock-Anweisung

140

3.8 KLASSEN

141

3.8.1 Konstanten

141

3.8.2 Felder

142

3.8.3 Konstruktoren

146

3.8.4 Destruktoren

148

3.8.5 Kapselung und Sichtbarkeit

149

3.8.6 Vererbung und Versionsverwaltung

151

3.8.7 Methoden überschreiben

153

3.8.8 Operatoren überladen

157

3.8.9 Eigenschaften

160

3.8.10 Indexer

167

3.9 STRUKTUREN

168

3.9.1 Strukturen deklarieren

168

3.9.2 Besonderheiten bei der Initialisierung

169

3.10 SCHNITTSTELLEN

172

3.10.1 Zugriff auf Schnittstellen-Mitglieder

172

3.10.2 Schnittstellen implementieren

175

3.10.3 Schnittstellen-Implementierung und Vererbung

178

3.10.4 Schnittstellen erneut implementieren

179

3.10.5 Abstrakte Klassen und Schnittstellen

181

3.11 AUFZÄHLUNGEN

181

3.11.1 Aufzählungstypen deklarieren

181

3.11.2 Implizite und explizite Numerierung

183

3.12 DELEGATEN EREIGNISSE

185

3.12.1 Delegaten deklarieren und instanziieren

185

3.12.2 Multicast-Delegaten

187

3.12.3 Feld-ähnliche Ereignisse

190

3.12.4 Ereigniseigenschaften

192

3.13 NAMESPACES

195

3.13.1 Namespaces deklarieren

195

3.13.2 Namespaces importieren

196

3.13.3 Aliase

199

3.14 PRÄPROZESSOR-DIREKTIVEN

200

3.14.1 Bedingungsdirektiven

200

3.14.2 Weitere Präprozessor-Direktiven

201

3.15 ATTRIBUTE

202

3.15.1 Attribute verwenden

203

3.15.2 Das Conditional-Attribut

205

3.15.3 Das Obsolete-Attribut

206

3.15.4 Das DllImport-Attribut

207

3.15.5 Benutzerdefinierte Attribute

207

3.15.6 Attribute auslesen (Reflektion)

210

3.16 DOKUMENTATIONSKOMMENTARE

211

3.16.1 Einführung

211

3.16.2 Empfohlene XML-Elemente

213

3.17 ZUSAMMENFASSUNG

216

4 Bibliotheken

218

4.1 WINDOWS FORMS

219

4.1.1 Methoden und Eigenschaften eines Formulars

220

4.1.2 Die Entwicklung mit Windows Forms

224

4.1.3 Sicherheit mit Windows Forms

246

4.1.4 Weitere Komponenten von Windows Forms…

250

4.2 ADO.NET – DATENBANKSCHNITTSTELLE

254

4.2.1 Das DataSet

255

4.2.2 … und die DataTable

257

4.2.3 Die manuelle Erstellung und Verwendung einer DataTable

257

4.2.4 Constraints

262

4.2.5 Das DataView

264

4.2.6 Der .NET-DataProvider

266

4.2.7 Unabhängigkeit (von Datenbanken) durch Interfaces

278

4.2.8 Transaktionen

283

4.2.9 Typisierte DataSets

284

4.2.10 Stored Procedures mit ADO.NET

287

4.2.11 Fazit

291

4.3 WEB SERVICES

291

4.3.1 Verwandte Technologien

292

4.3.2 SOAP, XML und Web Services

293

4.3.3 Ein erstes Beispiel

294

4.3.4 Die Protokolle HTTP-GET, HTTP-POST

299

4.3.5 Web Service via IDE

301

4.3.6 UDDI-Wegweiser durch den Web-Service-Dschungel

305

4.3.7 Dynamisches Einbinden der Web-Service-URL

306

4.3.8 Asynchroner Aufruf eines Web Service

307

4.3.9 Der Status eines Web Service

310

4.3.10 Web Services und Transaktionen

312

4.3.11 Die Web Services Enhancements 1.0

315

4.4 COMINTEROP AUTOMATISIERUNG MS OFFICE

318

4.4.1 Das erste Beispiel: C# ruft COM

320

4.4.2 Das zweite Beispiel: Excel ruft C#

322

4.4.3 Word per Fernsteuerung

324

4.4.4 Serienbriefe mit C# und MailMerge

329

4.4.5 Excel per Fernsteuerung

332

4.4.6 Outlook per Fernsteuerung

335

4.4.7 Der Internet Explorer als Steuerelement

339

4.4.8 Fazit

340

4.5 .NET-REMOTING

341

4.5.1 Die Struktur von .NET-Remoting

341

4.5.2 Proxy und SoapSuds

345

4.5.3 Dynamische Konfiguration durch XML

347

4.5.4 SAOs und CAOs

351

4.5.5 CAO (Client Activated Objects)

359

4.5.6 Transportable Objekte

363

4.5.7 Internet Information Service als Host

369

4.5.8 TCP-Channel und Binary-Formatierer

371

4.5.9 Fazit

372

4.6 ASP.NET

372

4.6.1 Die Struktur

373

4.6.2 Codebehind, der Code dahinter

376

4.6.3 ASP.NET-Anwendungen

378

4.6.4 ASP.NET-Anwendungen entwickeln mit einer IDE

388

4.6.5 Sicherheit in ASP.NET-Anwendungen

404

4.6.6 Vorlagen mit ASP.NET

415

4.6.7 Upload von Dateien mit ASP.NET

419

4.6.8 Fazit

420

5 Das .NET Compact Framework

422

5.1 DAS .NET COMPACT FRAMEWORK DETAIL

424

5.2 DER ENTWICKLUNGSPROZEß ANWENDUNG

426

5.2.1 Die Projekttypen in Visual Studio.NET

427

5.2.2 »Hallo Welt« – die erste Compact-Framework-Anwendung

429

5.2.3 Erweiterungen in Visual Studio.NET, der CF-ToolBar

431

5.2.4 Testen mit dem Emulator

431

5.2.5 Deployment auf einen Pocket PC

433

5.2.6 Die zur Verfügung stehenden Komponenten

434

5.2.7 Der Einsatz von Steuerelementen

437

5.3 DATENZUGRIFF MS SQL SERVER

439

5.3.1 Der Namespace System.Data.SqlClient

439

5.3.2 Das InputPanel-Steuerelement

447

5.3.3 Der SQLCE Server 2.0

448

5.4 DEPLOYMENT

453

5.5 KOMMUNIKATION WEB SERVICE

458

5.6 EIGENE STEUERELEMENTE

461

5.7 POCKET PC

464

5.7.1 Fazit

465

6 Techniken in C#

466

6.1 KOMPONENTEN C#

467

6.1.1 Die erste Komponente

468

6.1.2 Konfiguration der Komponente im Designer

471

6.1.3 Entwurfszeitattribute

473

6.1.4 Eine Komponente, mehreren Klassen und Namespaces

475

6.1.5 Ableitung von Steuerelementen

476

6.1.6 Das UserControl

480

6.1.7 Fazit

483

6.2 EVENTS

483

6.2.1 Events auslösen

489

6.3 MULTITHREADING

491

6.3.1 Warum Threads?

491

6.3.2 Threads und Application Domains

493

6.3.3 Threads erzeugen

494

6.3.4 Thread-Status verändern

494

6.3.5 Threads abbrechen

495

6.3.6 Datenaustausch mit Threads

498

6.3.7 Lokaler Thread-Speicher

500

6.3.8 Synchronisation mit lock

503

6.3.9 Auf eine Bedingung warten

510

6.3.10 Synchronisation hausgemacht

516

6.3.11 Typische Synchronisationsprobleme

518

6.3.12 Synchronisation im Komplettpaket

520

6.3.13 Prozeß-übergreifende Synchronisation

521

6.3.14 Ereignis-basierte Synchronisation

522

6.3.15 Synchronisation mit Windows Forms

525

6.3.16 Der Thread-Pool

528

6.4 SERIALISIERUNG OBJEKTEN

532

6.4.1 Standard-Serialisierungsformate des .NET-Framework

533

6.4.2 Zugriffsmodifizierer in der Serialisierung

534

6.4.3 Die Schlüsselwörter Serializable und NonSerialized

534

6.4.4 Serialisierung in der praktischen Anwendung

535

6.4.5 Das Interface ISerializable

545

6.5 DATEIVERARBEITUNG

550

6.5.1 Auf Dateiinhalte zugreifen

552

6.5.2 Verwendung der Streamklassen

555

6.5.3 Isolierte Speicherung

566

6.6 DELEGATEN

568

6.6.1 Der sinnvolle Einsatz von Delegaten

569

7 C# und der Rest der Welt

574

7.1 VON JAVA C#

578

7.1.1 C#-Einführung für Java-Programmierer

578

7.1.2 Konvertierung von Java-Programmen nach .NET

601

7.2 C++ C#

611

7.2.1 Grundsätzliches

611

7.2.2 Syntaktische Änderungen

612

7.2.3 Typsystem

612

7.2.4 Was es nicht mehr gibt

615

7.3 MISCHEN C# NICHT-C#

616

7.3.1 Das allgemeine Typsystem

621

7.3.2 Mischen von C# und VB.NET

623

7.3.3 VB.NET ruft C# ruft J#

626

7.3.4 Sprachübergreifendes Debugging

630

7.3.5 Mehr als eine Sprache in einem Assembly?

632

7.4 C# WINDOWS

635

7.4.1 Windows-Version ermitteln

637

8 MSIL/CIL, die .NET-Assemblersprache

646

8.1 TOOLS

647

8.2 ÜBERBLICK MSIL

648

8.3 DER STACK

654

8.4 VERWENDEN DER KLASSENBIBLIOTHEK

655

8.4.1 Arithmetik

658

8.4.2 Exceptions

658

8.4.3 Logik und Vergleiche

660

8.4.4 Rückgabe von Werten

661

8.5 DECOMPILER

662

8.6 OBFUSCATION (VERSCHLEIERUNG)

664

9 Anwendungen verteilen und installieren

666

9.1 VERTEILUNG EINER ANWENDUNG ÜBER XCOPY

667

9.1.1 GAC, StrongName & Co.

668

9.2 CAB-DATEIEN

671

9.3 DIE INSTALLER-KLASSE

672

9.4 SETUP-PROJEKTE

674

9.4.1 Windows-Setup-Projekt

674

9.4.2 Web-Setup-Projekt

678

9.4.3 Merge-Modul-Projekt

679

9.5 NO-TOUCH DEPLOYMENT

679

9.6 DEPLOYMENT .NET FRAMEWORKS

681

9.6.1 Die Bootstrapper-Option

682

9.6.2 Die Installation des Frameworks

683

10 C# auf Unix und Mac

686

10.1 ÜBERBLICK ÜBER DIE CLIS

688

10.1.1 SSCLI

688

10.1.2 Mono

689

10.1.3 Portable.NET

690

10.3.1 Klassenbibliothek – das Dateisystem

693

10.3.2 Native Calls

695

10.4.2 Windows.Forms auf den unterschiedlichen Systemen

709

11 Befehlszeilentools

712

11.1 DER C# COMPILER (CSC.EXE)

713

11.2 DER IL ASSEMBLER (ILASM.EXE)

717

11.3 IL DISASSEMBLER (ILDASM.EXE)

718

Stichwortverzeichnis

722