Microsoft.NET-Framework-Programmierung mit C[#]: [Expertenwissen zur CLR und dem .NET framework 2.0]
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German English |
Veröffentlicht: |
Unterschleißheim
Microsoft Press
[2006]
|
Ausgabe: | 2. Ausg. |
Schriftenreihe: | Fachbibliothek
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Titel eigentlich: Microsoft.NET-Framework-Programmierung mit C#. - #-Zeichen blockiert Dublettenkontrolle |
Beschreibung: | 681 S. Ill., graph. Darst. |
ISBN: | 3860639846 9783860639849 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV021659411 | ||
003 | DE-604 | ||
005 | 20240528 | ||
007 | t | ||
008 | 060717s2006 ad|| |||| 00||| ger d | ||
020 | |a 3860639846 |c Pp. : EUR 49.90 |9 3-86063-984-6 | ||
020 | |a 9783860639849 |9 978-3-86063-984-9 | ||
035 | |a (OCoLC)162319568 | ||
035 | |a (DE-599)BVBBV021659411 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 1 | |a ger |h eng | |
049 | |a DE-12 |a DE-91G |a DE-860 |a DE-526 |a DE-634 |a DE-83 |a DE-11 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 253 |0 (DE-625)143628: |2 rvk | ||
084 | |a DAT 358f |2 stub | ||
084 | |a DAT 302f |2 stub | ||
100 | 1 | |a Richter, Jeffrey |d 1964- |e Verfasser |0 (DE-588)172331323 |4 aut | |
240 | 1 | 0 | |a CLR via C[#] |
245 | 1 | 0 | |a Microsoft.NET-Framework-Programmierung mit C[#] |b [Expertenwissen zur CLR und dem .NET framework 2.0] |c Jeffrey Richter. Mit einem Vorw. von Aidan Richter. [Übers.: Detlef Johannis] |
246 | 1 | 3 | |a Microsoft.NET-Framework-Programmierung in C[#] |
250 | |a 2. Ausg. | ||
264 | 1 | |a Unterschleißheim |b Microsoft Press |c [2006] | |
300 | |a 681 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Fachbibliothek | |
500 | |a Titel eigentlich: Microsoft.NET-Framework-Programmierung mit C#. - #-Zeichen blockiert Dublettenkontrolle | ||
650 | 0 | 7 | |a Microsoft dot net |0 (DE-588)4645646-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C sharp |0 (DE-588)4616843-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Microsoft foundation classes |0 (DE-588)4413111-2 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Microsoft dot net |0 (DE-588)4645646-6 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a C sharp |0 (DE-588)4616843-6 |D s |
689 | 1 | |5 DE-604 | |
689 | 2 | 0 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |D s |
689 | 2 | |8 1\p |5 DE-604 | |
689 | 3 | 0 | |a Microsoft foundation classes |0 (DE-588)4413111-2 |D s |
689 | 3 | |8 2\p |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014873923&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1805074206954618880 |
---|---|
adam_text |
Titel: Microsoft.NET-Framework-Programmierung mit C#
Autor: Richter, Jeffrey
Jahr: 2006
Inhaltsverzeichnis
Vorwort 15
Einfiihrung 17
Die Entwicklungsplattform: Das .NET Framework 18
Die Entwicklungsumgebung: Microsoft Visual Studio 22
Ziel dieses Buchs 22
Beispielcode und Systemvoraussetzungen 23
Dieses Buch ist perfekt 23
Danksagungen 23
Support 24
Teil I Die Grundlagen der CLR 25
1 Das Ausfiihrungsmodell der CLR 27
Quellcode in verwaltete Module kompilieren 27
Verwaltete Module in Assemblys kombinieren 30
Laden der Common Language Runtime 32
Ausfuhren des Codes in der Assembly 35
IL und Uberpriifung 40
Unsicherer Code 41
Nativen Code generieren: das Tool NGen.exe 43
Einfiihrung in die Framework Class Library 45
Das Common Type System 47
Die Common Language Specification 49
Interoperabilitat mit nicht verwaltetem Code 54
2 Anwendungen und Typen erstellen, verpacken, bereitstellen und administrieren 57
Ziele der .NET Framework-Bereitstellung 58
Typen erstellen und in Modulen zusammenfassen 59
Antwortdateien 60
Ein kurzer Blick auf die Metadaten 62
Module zu einer Assembly zusammenfassen 69
.NET-Assemblys in der Visual Studio-IDE zu einem Projekt hinzufugen 75
Der Assemblylinker 76
Ressourcendateien in die Assembly aufnehmen 77
Versionsinformationen iiber eine Assembly 78
Versionsnummern 80
Kultur 81
Einfache Anwendungsbereitstellung 82
Einfache Administration 84
8 Inhaltsverzeichnis
3 Gemeinsam genutzte Assemblys und Assemblys mit starken Namen 89
Zwei Arten von Assemblys, zwei Arten der Bereitstellung ^
Assemblys einen starken Namen geben ^
Der globale Assemblycache
Die interne Struktur des globalen Assemblycaches
Erstellen einer Assembly, die auf eine Assembly mit starkem Namen verweist 104
Assemblys mit starken Namen sind falschungssicher 105
Verzogertes Signieren
Assemblys mit starken Namen privat bereitstellen 108
Wie die CLR Typverweise auflost 109
Fortgeschrittene Administration 11^
Herausgeberrichtlioien
Teil II Arbeiten mit Typen H9
4 Die Grundlagen von Typen 121
Alle Typen sind von System.Object abgeleitet 121
Typkonvertierung 123
Typkonvertierung mit den C#-Operatoren is und as 125
Namespaces und Assemblys 126
Abliiufe wahrend der Laufzeit 131
5 Primitive Typen, Verweistypen, Werttypen 141
Primitive Typen in der Programmiersprache 141
Uberprufte und nicht iiberprufte Operationen mit primitiven Typen 144
Verweistypen und Werttypen 147
Boxing und Unboxing von Werttypen 152
Andern von Feldern in einem geschachtelten Werttyp mithilfe von Schnittstellen
(und warum Sie darauf verzichten sollten) 164
Gleichheit und Identitat von Objekten 166
Hashcodes von Objekten 169
Teil III Entwerfen von Typen 173
6 Die Grundlagen von Typen und Membern 175
Die unterschiedlichen Arten von Typmembern 175
Sichtbarkeit von Typen 178
Friend-Assemblys 179
Zugriffsmodifizierer fiir Member 180
Statische Klassen 132
Partielle Klassen, Strukturen und Schnittstellen 183
Komponenten, Polymorphic und Versionsverwaltung 184
Wie die CLR virtuelle Methoden, Higenschaften und Ereignisse aufruft 187
Tipps zum Festlegen der Sichtbarkeit von Typen und der Zugriffsebene
von Membern ^
Virtuelle Methoden und Versionsverwaltung von Typen 194
Inhaltsverzeichnis 9
7 Konstanten und Felder 199
Konstanten 199
Felder 200
8 Methoden: Konstruktoren, Operatoren, Typumwandlung und Parameter 205
Instanzkonstruktoren bei Klassen (Verweistypen) 205
Instanzkonstruktoren bei Strukturen (Werttypen) 208
Typkonstruktoren 211
Leistungsaspekte bei Typkonstruktoren 214
Methoden zum Uberladen von Operatoren 217
Operatoren und die Interoperabilitat von Programmiersprachen 219
Methoden fiir Konvertierungsoperatoren 220
Argumente als Verweise an eine Methode iibergeben 223
Methoden mit einer variablen Anzahl von Parametern 228
Deklarieren der Parametertypen bei einer Methode 231
Konstante Methoden und Parameter 232
9 Eigenschaften 235
Parameterlose Eigenschaften 235
Eigenschaften geschickt definieren 239
Eigenschaften mit Parametern 240
Leistungsaspekte beim Aufruf der Accessormethoden von Eigenschaften 245
Zugriffsebenen bei Eigenschaftsaccessoren 245
Generische Accessormethoden fiir Eigenschaften 246
10 Ereignisse 247
Einen Typ entwerfen, der ein Ereignis anbietet 248
Schritt 1: Definieren Sie einen Typ fiir all die zusatzlichen Informationen,
die an die Empfanger des Ereignisses geschickt werden sollen 249
Schritt 2: Definieren Sie das Ereignismember 249
Schritt 3: Definieren Sie eine Methode, die das Ereignis auslost, damit die
registrierten Objekte benachrichtigt werden, dass das Ereignis eingetreten ist . 251
Schritt 4: Definieren Sie eine Methode, die die Eingaben in das gewiinschte
Ereignis umsetzt 252
Wie Ereignisse implementiert sind 252
Einen Typ entwerfen, der ein Ereignis empfangt 254
Ereignisse und Threadsicherheit 256
Das An- und Abmelden von Ereignisempfangern explizit steuern 257
Typen entwickeln, die viele Ereignisse definieren 259
Teil IV Wichtige Typen 261
11 Zeichen, Strings und Arbeiten mit Text 263
Zeichen 263
Der Typ System.String 266
Anlegen von Strings 266
Strings sind unveranderlich 268
10 Inhaltsverzeichnis
269
Vergleichen von Strings ^74
String-Interning
String-Pooling
Die Zeichen und Textelemente innerhalb eines Strings untersuchen w
Sonstige Stringoperationen
Einen String effizient zusammenstellen
Anlegen eines StringBuilder-Objekts 28
Die Member von
Stringdarstellungen fur ein Objekt 28^
Bestimmte Formate und Kulturen 285
Mehrere Objekte in einem einzigen String formatieren 289
9Q0
Benutzerdefinierte Formatierung
Ein Objekt aus dessen Stringdarstellung extrahieren 293
Zeichenkodierung: Konvertieren zwischen Zeichen und Bytes 295
Kodieren und Dekodieren von Zeichen- und Bytestreams 300
Kodieren und Dekodieren von Base-64-Strings 301
Sichere Strings 302
12 Enumerationstypen und Bitflags 305
Enumerationstypen 303
Bitflags 310
13 Arrays 315
Typkonvertierung bei Arrays 317
Alle Arrays sind implizit von System.Array abgeleitet 320
Alle Arrays implementieren implizit IEnumerable, ICollection und IList 320
Arrays als Parameter und Ruckgabewerte 321
Arrays mit einem Startindex ungleich null 322
Leistungsaspekte beim Arrayzugriff 323
Unsicherer Arrayzugriff und eingebettete Arrays 328
14 Schnittstellen 331
Klassen- und Schnittstellenvererbung 331
Definieren einer Schnittstelle 332
Schnittstellenvererbung 334
Mehr iiber das Aufrufen von Schnittstellenmethoden 336
Implizite und explizite Implementierungen von Schnittstellenmethoden
(was hinter den Kulissen passiert) 337
Generische Schnittstellen 339
Einschriinkungen fur Generika in Schnittstellen 341
Implementieren mehrerer Schnittstellen, die Methoden mit demselben Namen
und derselben Signatur haben 342
Verbessern der Typsicherheit beim Kompilieren mit expliziter Implementierung
von Schnittstellenmethoden 343
Vorsicht bei expliziten Schnittstellenmethodenimplementierungen 345
Entwurfsfragen: Basisklasse oder Schnittstelle? 347
1
Inhaltsve rzeichnis 11
15 Delegaten 351
Ein erster Blick auf Delegaten 351
Riickrufe in statische Methoden 354
Riickrufe in Instanzmethoden 355
Delegaten entratselt 356
Riickrufe in mehrere Methoden (Verkettung) 360
Delegatenketten in C# 364
Einzelne Elemente einer Delegatenkette aufrufen 365
Syntaxerleichterungen fur das Arbeiten mit Delegaten in C# 367
Syntaxabkurzung 1: Es braucht kein Delegatobjekt angelegt zu werden 367
Syntaxabkiirzung 2: Es braucht keine Riickrufmethode definiert zu werden 368
Syntaxabkiirzung 3: Es brauchen keine Parameter fur die Riickrufmethode
definiert zu werden 370
Syntaxabkurzung 4: Lokale Variablen brauchen nicht von Hand in eine Klasse
verpackt zu werden, um sie an eine Riickrufmethode zu ubergeben 370
Delegaten und Reflektion 373
16 Generika 377
Generika in der Framework Class Library 382
Die Power Collections Library von Wintellect 383
Infrastruktur von Generika 384
Offene und geschlossene Typen 385
Generische Typen und Vererbung 387
Identitat von generischen Typen 388
Explosive Codevermehrung 389
Generische Schnittstellen 390
Generische Delegaten 391
Generische Methoden 392
Generische Methoden und Typherleitung 393
Generika fur andere Member 394
Cberprufbarkeit und Einschrankungen 394
Primare Einschrankungen 397
Sekundare Einschrankungen 398
Konstruktoreinschrankungen 399
Andere Oberpriifbarkeitsprobleme 400
17 Benutzerdefinierte Attribute 403
Benutzerdefinierte Attribute einsetzen 404
Definieren eigener Attributklassen 407
Datentypen fur Konstruktor, Felder und Eigenschaften von Attributen 410
Benutzerdefinierte Attribute auswerten 412
Zwei Attributinstanzen miteinander vergleichen 416
Benutzerdefinierte Attribute untersuchen, ohne von Attribute abgeleitete
Objekte anzulegen 418
Klassen fur bedingte Attribute 421
12 Inhaltsverzeichnis
423
18 Nullable-Werttypen 425
Nullable-Werttypen in C# 426
Der Operator ?? in C# 427
Spezielle Unterstiitzung fur Nullable-Werttypen in der CLR ^
Boxing von Nullable-Werttypen
Unboxing von Nullable-Werttypen
GetTypc fur einen Nullable-Werttyp aufrufen
Schnittstellenmethoden iiber einen Nullable-Werttyp aufrufen 4
Teil V Die Infrastruktur der CLR *31
433
19 Ausnahmen
Die Evolution der Ausnahmebehandlung 434
Die Funktionsweise der Ausnahmebehandlung 436
Der fry-Block 43^
Der catch-Block 43^
Der//nu//y-Block 43^
CLS-kompatible und nicht CLS-kompatible Ausnahmen 440
Was genau ist eine Ausnahme? 441
Die Klasse System.Exception 443
Ausnahmeklassen in der FCL 444
Auslosen einer Ausnahme 447
Definieren einer eigenen Ausnahmeklasse 447
Wie Sie Ausnahmen richtig einsetzen 451
Uberpriifen Sie die Argumente Ihrer Methode 451
Sie konnen gar nicht genug/mfl//y-Blocke haben 454
Fangen Sie nicht alles ab 455
Nach dem Abfangen einer Ausnahme die Situation bereinigen 456
Eine teilweise ausgefuhrte Operation abbrechen 457
Verstecken von Implementierungsdetails 458
Leistungsaspekte 460
Unbehandelte Ausnahmen 463
Stackabbilder nach Ausnahmen 465
Ausnahmen debuggen 467
20 Automatische Speicherverwaltung 471
Arbeiten auf einer Plattform mit automatischer Speicherverwaltung 471
Ressourcen vom verwalteten Heap anfordern 473
Der Garbage Collection-Algorithmus 475
Garbage Collections und Debugging 479
Verwenden des Objektabschlusses zum Freigeben nativer Ressourcen 481
Garantierter Abschluss mithilfe von CriticalFinalizerObject-Typen 483
SafeHandle und davon abgeleitete Typen 434
Zusammenarbeit mit nicht verwaltetem Code mithilfe von SafeHandle-Typen 486
Abschluss fur verwaltete Ressourcen 488
Inhaltsverzeichnis 13
Wann werden Finalize-Methoden aufgerufen? 491
Interna des Objektabschlusses 492
Das Beseitigungsmuster: Ein Objekt zum Aufraumen zwingen 495
Einen Typ benutzen, der das Beseitigungsmuster implementiert 499
Die C#-Anweisung using 502
Ein interessantes Abhangigkeitsproblem 504
Die Lebensdauer von Objekten iiberwachen und von Hand steuern 505
Wiederbelebung 513
Generationen 515
Weitere Garbage Collection-Features fur den Umgang mit nativen Ressourcen 520
Den Erfolg einer Operation vorhersagen, die viel Speicher braucht 524
Den Garbage Collector vom Code aus steuern 525
Weitere Leistungsaspekte des Garbage Collectors 528
Synchronisierungsfreie Objekterstellung 529
Skalierbare parallele Garbage Collections 529
Garbage Collection im Hintergrund 530
Grofie Objekte 531
Garbage Collections iiberwachen 531
21 CLR-Hosting und AppDomains 533
CLR-Hosting 533
AppDomains 537
Uber AppDomain-Grenzen hinweg auf Objekte zugreifen 539
Entladen einer AppDomain 550
Wie Hosts AppDomains benutzen 551
Konsolen- und Windows Forms-Anwendungen 551
Microsoft Internet Explorer 551
Microsoft ASP.NET-Web Forms- und XML-Webdienstanwendungen 552
Microsoft SQL Server 2005 552
Die Zukunft und Ihre eigene Vorstellungskraft 553
Erweiterte Hoststeuerung 553
Die CLR mit verwaltetem Code verwalten 553
Eine robuste Hostanwendung schreiben 554
Wie ein Host seinen Thread zuruckbekommt 555
22 Laden von Assemblys und Reflektion 559
Laden von Assemblys 559
Mithilfe der Reflektion eine dynamisch erweiterbare Anwendung erstellen 563
Leistungsaspekte bei der Reflektion 564
Ermitteln, welche Typen in einer Assembly definiert sind 565
Was genau ist ein Typobjekt? 565
Erstellen einer Hierarchie aller Typen, die von Exception abgeleitet sind 567
Eine Instanz eines Typs anlegen 569
Entwerfen einer Anwendung, die Add-Ins unterstiitzt 572
Mithilfe der Reflektion die Member eines Typs ermitteln 574
Die Member eines Typs ermitteln 575
14 Inhaltsverzeichnis
BindingFlags: Filtern, welche Arten von Membern zuruckgegeben werden 579
Die Schnittstellen eines Typs ermitteln
Member eines Typs aufrufen
Einmal binden, mehrmals aufrufen
Verkleinern der Arbeitsseiten mithilfe von Bindungshandles 591
503
23 Durchfiihren von asynchronen Operationen
Wie die CLR Windows-Threads benutzt 594
Mahnende Worte zur effizienten Threadnutzung 594
Grundlagen des Threadpools der CLR 597
Die Anzahl der Threads im Threadpool einschranken 598
Durchfiihren einer asynchronen Rechenoperation mithilfe des Threadpools 599
Ausfuhren einer asynchronen Rechenoperation mit einem dedizierten Thread 602
Eine asynchrone Rechenoperation regelmaBig ausfuhren 603
Die Geschichte dreier Timer 605
Grundlagen des Asynchronous Programming Model 606
Durchfiihren einer asynchronen E/A-Operation mit dem APM 607
Die drei Zusammenfiihrungstechniken des APM 609
Die Zusammenfiihrungstechnik Warten-bis-fertig des APM 609
Die Zusammenfiihrungstechnik Polling des APM 612
Die Zusammenfiihrungstechnik Methodenriickruf des APM 613
Eine asynchrone Rechenoperation mit dem APM durchfiihren 618
Das APM und Ausnahmen 620
Wichtige Anmerkungen zum APM 621
Ausfiihrungskontexte 623
24 Threadsynchronisierung 627
Speicherkonsistenz, fliichtiger Speicherzugriff und fluchtige Felder 628
Fluchtige Lese- und Schreibvorgange 631
Unterstiitzung fur fluchtige Felder in C# 632
Die Interlockmethoden 635
Die Klasse Monitor und Synchronisationsblocke 636
Die »tolle« Idee 636
Die Implementierung der »tollen« Idee 637
Einen Synchronisationsblock mithilfe der Klasse Monitor steuern 638
Synchronisieren streng nach den Lehren von Microsoft 639
Den Code mit der C#-Anweisung lock vereinfachen 640
Synchronisieren von statischen Membern streng nach den Lehren von Microsoft . 641
Warum die »tolle« Idee gar nicht so toll ist 642
Die beriihmte Doppelpriifungssperrtechnik 645
Die Klasse ReaderWriterLock 64g
Windows-Kernelobjekte aus verwaltetem Code heraus benutzen 649
Aufrufen einer Methode, wenn ein einzelnes Kernelobjekt signalisiert wird 651
Stichwortverzeichnis ^
DerAutor
Do3 |
adam_txt |
Titel: Microsoft.NET-Framework-Programmierung mit C#
Autor: Richter, Jeffrey
Jahr: 2006
Inhaltsverzeichnis
Vorwort 15
Einfiihrung 17
Die Entwicklungsplattform: Das .NET Framework 18
Die Entwicklungsumgebung: Microsoft Visual Studio 22
Ziel dieses Buchs 22
Beispielcode und Systemvoraussetzungen 23
Dieses Buch ist perfekt 23
Danksagungen 23
Support 24
Teil I Die Grundlagen der CLR 25
1 Das Ausfiihrungsmodell der CLR 27
Quellcode in verwaltete Module kompilieren 27
Verwaltete Module in Assemblys kombinieren 30
Laden der Common Language Runtime 32
Ausfuhren des Codes in der Assembly 35
IL und Uberpriifung 40
Unsicherer Code 41
Nativen Code generieren: das Tool NGen.exe 43
Einfiihrung in die Framework Class Library 45
Das Common Type System 47
Die Common Language Specification 49
Interoperabilitat mit nicht verwaltetem Code 54
2 Anwendungen und Typen erstellen, verpacken, bereitstellen und administrieren 57
Ziele der .NET Framework-Bereitstellung 58
Typen erstellen und in Modulen zusammenfassen 59
Antwortdateien 60
Ein kurzer Blick auf die Metadaten 62
Module zu einer Assembly zusammenfassen 69
.NET-Assemblys in der Visual Studio-IDE zu einem Projekt hinzufugen 75
Der Assemblylinker 76
Ressourcendateien in die Assembly aufnehmen 77
Versionsinformationen iiber eine Assembly 78
Versionsnummern 80
Kultur 81
Einfache Anwendungsbereitstellung 82
Einfache Administration 84
8 Inhaltsverzeichnis
3 Gemeinsam genutzte Assemblys und Assemblys mit starken Namen 89
Zwei Arten von Assemblys, zwei Arten der Bereitstellung ^
Assemblys einen starken Namen geben ^
Der globale Assemblycache
Die interne Struktur des globalen Assemblycaches
Erstellen einer Assembly, die auf eine Assembly mit starkem Namen verweist 104
Assemblys mit starken Namen sind falschungssicher 105
Verzogertes Signieren
Assemblys mit starken Namen privat bereitstellen 108
Wie die CLR Typverweise auflost 109
Fortgeschrittene Administration 11^
Herausgeberrichtlioien
Teil II Arbeiten mit Typen H9
4 Die Grundlagen von Typen 121
Alle Typen sind von System.Object abgeleitet 121
Typkonvertierung 123
Typkonvertierung mit den C#-Operatoren is und as 125
Namespaces und Assemblys 126
Abliiufe wahrend der Laufzeit 131
5 Primitive Typen, Verweistypen, Werttypen 141
Primitive Typen in der Programmiersprache 141
Uberprufte und nicht iiberprufte Operationen mit primitiven Typen 144
Verweistypen und Werttypen 147
Boxing und Unboxing von Werttypen 152
Andern von Feldern in einem geschachtelten Werttyp mithilfe von Schnittstellen
(und warum Sie darauf verzichten sollten) 164
Gleichheit und Identitat von Objekten 166
Hashcodes von Objekten 169
Teil III Entwerfen von Typen 173
6 Die Grundlagen von Typen und Membern 175
Die unterschiedlichen Arten von Typmembern 175
Sichtbarkeit von Typen 178
Friend-Assemblys 179
Zugriffsmodifizierer fiir Member 180
Statische Klassen 132
Partielle Klassen, Strukturen und Schnittstellen 183
Komponenten, Polymorphic und Versionsverwaltung 184
Wie die CLR virtuelle Methoden, Higenschaften und Ereignisse aufruft 187
Tipps zum Festlegen der Sichtbarkeit von Typen und der Zugriffsebene
von Membern ^
Virtuelle Methoden und Versionsverwaltung von Typen 194
Inhaltsverzeichnis 9
7 Konstanten und Felder 199
Konstanten 199
Felder 200
8 Methoden: Konstruktoren, Operatoren, Typumwandlung und Parameter 205
Instanzkonstruktoren bei Klassen (Verweistypen) 205
Instanzkonstruktoren bei Strukturen (Werttypen) 208
Typkonstruktoren 211
Leistungsaspekte bei Typkonstruktoren 214
Methoden zum Uberladen von Operatoren 217
Operatoren und die Interoperabilitat von Programmiersprachen 219
Methoden fiir Konvertierungsoperatoren 220
Argumente als Verweise an eine Methode iibergeben 223
Methoden mit einer variablen Anzahl von Parametern 228
Deklarieren der Parametertypen bei einer Methode 231
Konstante Methoden und Parameter 232
9 Eigenschaften 235
Parameterlose Eigenschaften 235
Eigenschaften geschickt definieren 239
Eigenschaften mit Parametern 240
Leistungsaspekte beim Aufruf der Accessormethoden von Eigenschaften 245
Zugriffsebenen bei Eigenschaftsaccessoren 245
Generische Accessormethoden fiir Eigenschaften 246
10 Ereignisse 247
Einen Typ entwerfen, der ein Ereignis anbietet 248
Schritt 1: Definieren Sie einen Typ fiir all die zusatzlichen Informationen,
die an die Empfanger des Ereignisses geschickt werden sollen 249
Schritt 2: Definieren Sie das Ereignismember 249
Schritt 3: Definieren Sie eine Methode, die das Ereignis auslost, damit die
registrierten Objekte benachrichtigt werden, dass das Ereignis eingetreten ist . 251
Schritt 4: Definieren Sie eine Methode, die die Eingaben in das gewiinschte
Ereignis umsetzt 252
Wie Ereignisse implementiert sind 252
Einen Typ entwerfen, der ein Ereignis empfangt 254
Ereignisse und Threadsicherheit 256
Das An- und Abmelden von Ereignisempfangern explizit steuern 257
Typen entwickeln, die viele Ereignisse definieren 259
Teil IV Wichtige Typen 261
11 Zeichen, Strings und Arbeiten mit Text 263
Zeichen 263
Der Typ System.String 266
Anlegen von Strings 266
Strings sind unveranderlich 268
10 Inhaltsverzeichnis
269
Vergleichen von Strings ^74
String-Interning
String-Pooling
Die Zeichen und Textelemente innerhalb eines Strings untersuchen w
Sonstige Stringoperationen
Einen String effizient zusammenstellen
Anlegen eines StringBuilder-Objekts 28
Die Member von
Stringdarstellungen fur ein Objekt 28^
Bestimmte Formate und Kulturen 285
Mehrere Objekte in einem einzigen String formatieren 289
9Q0
Benutzerdefinierte Formatierung
Ein Objekt aus dessen Stringdarstellung extrahieren 293
Zeichenkodierung: Konvertieren zwischen Zeichen und Bytes 295
Kodieren und Dekodieren von Zeichen- und Bytestreams 300
Kodieren und Dekodieren von Base-64-Strings 301
Sichere Strings 302
12 Enumerationstypen und Bitflags 305
Enumerationstypen 303
Bitflags 310
13 Arrays 315
Typkonvertierung bei Arrays 317
Alle Arrays sind implizit von System.Array abgeleitet 320
Alle Arrays implementieren implizit IEnumerable, ICollection und IList 320
Arrays als Parameter und Ruckgabewerte 321
Arrays mit einem Startindex ungleich null 322
Leistungsaspekte beim Arrayzugriff 323
Unsicherer Arrayzugriff und eingebettete Arrays 328
14 Schnittstellen 331
Klassen- und Schnittstellenvererbung 331
Definieren einer Schnittstelle 332
Schnittstellenvererbung 334
Mehr iiber das Aufrufen von Schnittstellenmethoden 336
Implizite und explizite Implementierungen von Schnittstellenmethoden
(was hinter den Kulissen passiert) 337
Generische Schnittstellen 339
Einschriinkungen fur Generika in Schnittstellen 341
Implementieren mehrerer Schnittstellen, die Methoden mit demselben Namen
und derselben Signatur haben 342
Verbessern der Typsicherheit beim Kompilieren mit expliziter Implementierung
von Schnittstellenmethoden 343
Vorsicht bei expliziten Schnittstellenmethodenimplementierungen 345
Entwurfsfragen: Basisklasse oder Schnittstelle? 347
1
Inhaltsve rzeichnis 11
15 Delegaten 351
Ein erster Blick auf Delegaten 351
Riickrufe in statische Methoden 354
Riickrufe in Instanzmethoden 355
Delegaten entratselt 356
Riickrufe in mehrere Methoden (Verkettung) 360
Delegatenketten in C# 364
Einzelne Elemente einer Delegatenkette aufrufen 365
Syntaxerleichterungen fur das Arbeiten mit Delegaten in C# 367
Syntaxabkurzung 1: Es braucht kein Delegatobjekt angelegt zu werden 367
Syntaxabkiirzung 2: Es braucht keine Riickrufmethode definiert zu werden 368
Syntaxabkiirzung 3: Es brauchen keine Parameter fur die Riickrufmethode
definiert zu werden 370
Syntaxabkurzung 4: Lokale Variablen brauchen nicht von Hand in eine Klasse
verpackt zu werden, um sie an eine Riickrufmethode zu ubergeben 370
Delegaten und Reflektion 373
16 Generika 377
Generika in der Framework Class Library 382
Die Power Collections Library von Wintellect 383
Infrastruktur von Generika 384
Offene und geschlossene Typen 385
Generische Typen und Vererbung 387
Identitat von generischen Typen 388
Explosive Codevermehrung 389
Generische Schnittstellen 390
Generische Delegaten 391
Generische Methoden 392
Generische Methoden und Typherleitung 393
Generika fur andere Member 394
Cberprufbarkeit und Einschrankungen 394
Primare Einschrankungen 397
Sekundare Einschrankungen 398
Konstruktoreinschrankungen 399
Andere Oberpriifbarkeitsprobleme 400
17 Benutzerdefinierte Attribute 403
Benutzerdefinierte Attribute einsetzen 404
Definieren eigener Attributklassen 407
Datentypen fur Konstruktor, Felder und Eigenschaften von Attributen 410
Benutzerdefinierte Attribute auswerten 412
Zwei Attributinstanzen miteinander vergleichen 416
Benutzerdefinierte Attribute untersuchen, ohne von Attribute abgeleitete
Objekte anzulegen 418
Klassen fur bedingte Attribute 421
12 Inhaltsverzeichnis
423
18 Nullable-Werttypen 425
Nullable-Werttypen in C# 426
Der Operator ?? in C# 427
Spezielle Unterstiitzung fur Nullable-Werttypen in der CLR ^
Boxing von Nullable-Werttypen
Unboxing von Nullable-Werttypen
GetTypc fur einen Nullable-Werttyp aufrufen
Schnittstellenmethoden iiber einen Nullable-Werttyp aufrufen 4
Teil V Die Infrastruktur der CLR *31
433
19 Ausnahmen
Die Evolution der Ausnahmebehandlung 434
Die Funktionsweise der Ausnahmebehandlung 436
Der fry-Block 43^
Der catch-Block 43^
Der//nu//y-Block 43^
CLS-kompatible und nicht CLS-kompatible Ausnahmen 440
Was genau ist eine Ausnahme? 441
Die Klasse System.Exception 443
Ausnahmeklassen in der FCL 444
Auslosen einer Ausnahme 447
Definieren einer eigenen Ausnahmeklasse 447
Wie Sie Ausnahmen richtig einsetzen 451
Uberpriifen Sie die Argumente Ihrer Methode 451
Sie konnen gar nicht genug/mfl//y-Blocke haben 454
Fangen Sie nicht alles ab 455
Nach dem Abfangen einer Ausnahme die Situation bereinigen 456
Eine teilweise ausgefuhrte Operation abbrechen 457
Verstecken von Implementierungsdetails 458
Leistungsaspekte 460
Unbehandelte Ausnahmen 463
Stackabbilder nach Ausnahmen 465
Ausnahmen debuggen 467
20 Automatische Speicherverwaltung 471
Arbeiten auf einer Plattform mit automatischer Speicherverwaltung 471
Ressourcen vom verwalteten Heap anfordern 473
Der Garbage Collection-Algorithmus 475
Garbage Collections und Debugging 479
Verwenden des Objektabschlusses zum Freigeben nativer Ressourcen 481
Garantierter Abschluss mithilfe von CriticalFinalizerObject-Typen 483
SafeHandle und davon abgeleitete Typen 434
Zusammenarbeit mit nicht verwaltetem Code mithilfe von SafeHandle-Typen 486
Abschluss fur verwaltete Ressourcen 488
Inhaltsverzeichnis 13
Wann werden Finalize-Methoden aufgerufen? 491
Interna des Objektabschlusses 492
Das Beseitigungsmuster: Ein Objekt zum Aufraumen zwingen 495
Einen Typ benutzen, der das Beseitigungsmuster implementiert 499
Die C#-Anweisung using 502
Ein interessantes Abhangigkeitsproblem 504
Die Lebensdauer von Objekten iiberwachen und von Hand steuern 505
Wiederbelebung 513
Generationen 515
Weitere Garbage Collection-Features fur den Umgang mit nativen Ressourcen 520
Den Erfolg einer Operation vorhersagen, die viel Speicher braucht 524
Den Garbage Collector vom Code aus steuern 525
Weitere Leistungsaspekte des Garbage Collectors 528
Synchronisierungsfreie Objekterstellung 529
Skalierbare parallele Garbage Collections 529
Garbage Collection im Hintergrund 530
Grofie Objekte 531
Garbage Collections iiberwachen 531
21 CLR-Hosting und AppDomains 533
CLR-Hosting 533
AppDomains 537
Uber AppDomain-Grenzen hinweg auf Objekte zugreifen 539
Entladen einer AppDomain 550
Wie Hosts AppDomains benutzen 551
Konsolen- und Windows Forms-Anwendungen 551
Microsoft Internet Explorer 551
Microsoft ASP.NET-Web Forms- und XML-Webdienstanwendungen 552
Microsoft SQL Server 2005 552
Die Zukunft und Ihre eigene Vorstellungskraft 553
Erweiterte Hoststeuerung 553
Die CLR mit verwaltetem Code verwalten 553
Eine robuste Hostanwendung schreiben 554
Wie ein Host seinen Thread zuruckbekommt 555
22 Laden von Assemblys und Reflektion 559
Laden von Assemblys 559
Mithilfe der Reflektion eine dynamisch erweiterbare Anwendung erstellen 563
Leistungsaspekte bei der Reflektion 564
Ermitteln, welche Typen in einer Assembly definiert sind 565
Was genau ist ein Typobjekt? 565
Erstellen einer Hierarchie aller Typen, die von Exception abgeleitet sind 567
Eine Instanz eines Typs anlegen 569
Entwerfen einer Anwendung, die Add-Ins unterstiitzt 572
Mithilfe der Reflektion die Member eines Typs ermitteln 574
Die Member eines Typs ermitteln 575
14 Inhaltsverzeichnis
BindingFlags: Filtern, welche Arten von Membern zuruckgegeben werden 579
Die Schnittstellen eines Typs ermitteln
Member eines Typs aufrufen
Einmal binden, mehrmals aufrufen
Verkleinern der Arbeitsseiten mithilfe von Bindungshandles 591
503
23 Durchfiihren von asynchronen Operationen
Wie die CLR Windows-Threads benutzt 594
Mahnende Worte zur effizienten Threadnutzung 594
Grundlagen des Threadpools der CLR 597
Die Anzahl der Threads im Threadpool einschranken 598
Durchfiihren einer asynchronen Rechenoperation mithilfe des Threadpools 599
Ausfuhren einer asynchronen Rechenoperation mit einem dedizierten Thread 602
Eine asynchrone Rechenoperation regelmaBig ausfuhren 603
Die Geschichte dreier Timer 605
Grundlagen des Asynchronous Programming Model 606
Durchfiihren einer asynchronen E/A-Operation mit dem APM 607
Die drei Zusammenfiihrungstechniken des APM 609
Die Zusammenfiihrungstechnik Warten-bis-fertig des APM 609
Die Zusammenfiihrungstechnik Polling des APM 612
Die Zusammenfiihrungstechnik Methodenriickruf des APM 613
Eine asynchrone Rechenoperation mit dem APM durchfiihren 618
Das APM und Ausnahmen 620
Wichtige Anmerkungen zum APM 621
Ausfiihrungskontexte 623
24 Threadsynchronisierung 627
Speicherkonsistenz, fliichtiger Speicherzugriff und fluchtige Felder 628
Fluchtige Lese- und Schreibvorgange 631
Unterstiitzung fur fluchtige Felder in C# 632
Die Interlockmethoden 635
Die Klasse Monitor und Synchronisationsblocke 636
Die »tolle« Idee 636
Die Implementierung der »tollen« Idee 637
Einen Synchronisationsblock mithilfe der Klasse Monitor steuern 638
Synchronisieren streng nach den Lehren von Microsoft 639
Den Code mit der C#-Anweisung lock vereinfachen 640
Synchronisieren von statischen Membern streng nach den Lehren von Microsoft . 641
Warum die »tolle« Idee gar nicht so toll ist 642
Die beriihmte Doppelpriifungssperrtechnik 645
Die Klasse ReaderWriterLock 64g
Windows-Kernelobjekte aus verwaltetem Code heraus benutzen 649
Aufrufen einer Methode, wenn ein einzelnes Kernelobjekt signalisiert wird 651
Stichwortverzeichnis ^
DerAutor
Do3 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Richter, Jeffrey 1964- |
author_GND | (DE-588)172331323 |
author_facet | Richter, Jeffrey 1964- |
author_role | aut |
author_sort | Richter, Jeffrey 1964- |
author_variant | j r jr |
building | Verbundindex |
bvnumber | BV021659411 |
classification_rvk | ST 250 ST 253 |
classification_tum | DAT 358f DAT 302f |
ctrlnum | (OCoLC)162319568 (DE-599)BVBBV021659411 |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2. Ausg. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV021659411</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240528</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">060717s2006 ad|| |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3860639846</subfield><subfield code="c">Pp. : EUR 49.90</subfield><subfield code="9">3-86063-984-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783860639849</subfield><subfield code="9">978-3-86063-984-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)162319568</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV021659411</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="1" ind2=" "><subfield code="a">ger</subfield><subfield code="h">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-12</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-526</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 253</subfield><subfield code="0">(DE-625)143628:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 302f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Richter, Jeffrey</subfield><subfield code="d">1964-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)172331323</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">CLR via C[#]</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Microsoft.NET-Framework-Programmierung mit C[#]</subfield><subfield code="b">[Expertenwissen zur CLR und dem .NET framework 2.0]</subfield><subfield code="c">Jeffrey Richter. Mit einem Vorw. von Aidan Richter. [Übers.: Detlef Johannis]</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Microsoft.NET-Framework-Programmierung in C[#]</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. Ausg.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Unterschleißheim</subfield><subfield code="b">Microsoft Press</subfield><subfield code="c">[2006]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">681 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Fachbibliothek</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Titel eigentlich: Microsoft.NET-Framework-Programmierung mit C#. - #-Zeichen blockiert Dublettenkontrolle</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C sharp</subfield><subfield code="0">(DE-588)4616843-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Microsoft foundation classes</subfield><subfield code="0">(DE-588)4413111-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Microsoft dot net</subfield><subfield code="0">(DE-588)4645646-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">C sharp</subfield><subfield code="0">(DE-588)4616843-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Microsoft foundation classes</subfield><subfield code="0">(DE-588)4413111-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014873923&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV021659411 |
illustrated | Illustrated |
index_date | 2024-07-02T15:05:28Z |
indexdate | 2024-07-20T05:21:50Z |
institution | BVB |
isbn | 3860639846 9783860639849 |
language | German English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-014873923 |
oclc_num | 162319568 |
open_access_boolean | |
owner | DE-12 DE-91G DE-BY-TUM DE-860 DE-526 DE-634 DE-83 DE-11 |
owner_facet | DE-12 DE-91G DE-BY-TUM DE-860 DE-526 DE-634 DE-83 DE-11 |
physical | 681 S. Ill., graph. Darst. |
publishDate | 2006 |
publishDateSearch | 2006 |
publishDateSort | 2006 |
publisher | Microsoft Press |
record_format | marc |
series2 | Fachbibliothek |
spelling | Richter, Jeffrey 1964- Verfasser (DE-588)172331323 aut CLR via C[#] Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] Jeffrey Richter. Mit einem Vorw. von Aidan Richter. [Übers.: Detlef Johannis] Microsoft.NET-Framework-Programmierung in C[#] 2. Ausg. Unterschleißheim Microsoft Press [2006] 681 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Fachbibliothek Titel eigentlich: Microsoft.NET-Framework-Programmierung mit C#. - #-Zeichen blockiert Dublettenkontrolle Microsoft dot net (DE-588)4645646-6 gnd rswk-swf C Programmiersprache (DE-588)4113195-2 gnd rswk-swf C sharp (DE-588)4616843-6 gnd rswk-swf Microsoft foundation classes (DE-588)4413111-2 gnd rswk-swf Microsoft dot net (DE-588)4645646-6 s DE-604 C sharp (DE-588)4616843-6 s C Programmiersprache (DE-588)4113195-2 s 1\p DE-604 Microsoft foundation classes (DE-588)4413111-2 s 2\p DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014873923&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Richter, Jeffrey 1964- Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] Microsoft dot net (DE-588)4645646-6 gnd C Programmiersprache (DE-588)4113195-2 gnd C sharp (DE-588)4616843-6 gnd Microsoft foundation classes (DE-588)4413111-2 gnd |
subject_GND | (DE-588)4645646-6 (DE-588)4113195-2 (DE-588)4616843-6 (DE-588)4413111-2 |
title | Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] |
title_alt | CLR via C[#] Microsoft.NET-Framework-Programmierung in C[#] |
title_auth | Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] |
title_exact_search | Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] |
title_exact_search_txtP | Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] |
title_full | Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] Jeffrey Richter. Mit einem Vorw. von Aidan Richter. [Übers.: Detlef Johannis] |
title_fullStr | Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] Jeffrey Richter. Mit einem Vorw. von Aidan Richter. [Übers.: Detlef Johannis] |
title_full_unstemmed | Microsoft.NET-Framework-Programmierung mit C[#] [Expertenwissen zur CLR und dem .NET framework 2.0] Jeffrey Richter. Mit einem Vorw. von Aidan Richter. [Übers.: Detlef Johannis] |
title_short | Microsoft.NET-Framework-Programmierung mit C[#] |
title_sort | microsoft net framework programmierung mit c expertenwissen zur clr und dem net framework 2 0 |
title_sub | [Expertenwissen zur CLR und dem .NET framework 2.0] |
topic | Microsoft dot net (DE-588)4645646-6 gnd C Programmiersprache (DE-588)4113195-2 gnd C sharp (DE-588)4616843-6 gnd Microsoft foundation classes (DE-588)4413111-2 gnd |
topic_facet | Microsoft dot net C Programmiersprache C sharp Microsoft foundation classes |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014873923&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT richterjeffrey clrviac AT richterjeffrey microsoftnetframeworkprogrammierungmitcexpertenwissenzurclrunddemnetframework20 AT richterjeffrey microsoftnetframeworkprogrammierunginc |