Visual_Studio_NET_NET_Framework_Czarna_ksiega_vsnetb.pdf

(479 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Visual Studio .NET:
.NET Framework.
Czarna ksiêga
Autorzy: Julian Templeman, David Vitter
T³umaczenie: Anna Konopka, Marek Konopka
ISBN: 83-7197-733-6
Tytu³ orygina³u:
Visual Studio .NET:
The .NET Framework. Black Book
Format: B5, stron: 736
Zawiera CD-ROM
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
Niniejsza ksi¹¿ka stanowi wprowadzenie do .NET Framework, z³o¿onego i bardzo
bogatego zestawu narzêdzi s³u¿¹cych do tworzenia aplikacji dla platformy .NET. Lektura
tej ksi¹¿ki sprawi, ¿e poznasz g³ówne elementy .NET Framework i nauczysz siê tworzyæ
programy dla platformy .NET. Du¿a liczba przyk³adów — od tworzenia grafiki do obs³ugi
baz danych — zilustrowanych wieloma linijkami kodu, u³atwi Ci tworzenie
zaawansowanych aplikacji w pe³ni korzystaj¹cych z nowych cech platformy .NET.
Do³¹czony CD-ROM zawiera wiele gotowych do u¿ycia narzêdzi, które u³atwi¹ Ci pracê.
Dziêki tej ksi¹¿ce:
• Zrozumiesz architekturê .NET
• Dowiesz siê, czym jest i co zawiera .NET Framework
• Poznasz g³ówne przestrzenie nazw .NET
• Nauczysz siê tworzyæ aplikacje z graficznym interfejsem u¿ytkownika dla
platformy .NET korzystaj¹ce z biblioteki Windows Forms
• Dowiesz siê, jak programowaæ us³ugi XML Web Services za pomoc¹ biblioteki
ASP.NET,
• Nauczysz siê obs³ugiwaæ bazy danych za pomoc¹ biblioteki ADO.NET
• Dowiesz siê jak korzystaæ z obiektów COM i API systemu Windows
• Zrozumiesz mechanizm bezpieczeñstwa platformy .NET
• Nauczysz siê korzystaæ z SOAP i XML
• Poznasz technologiê Remoting
• Dowiesz siê jak korzystaæ z formularzy i kontrolek WWW
• Nauczysz siê pos³ugiwaæ piórami, pêdzlami, kolorami i innymi sk³adowymi
przestrzeni nazw Drawing
Ksi¹¿ka przeznaczona jest dla programistów Visual Basica, C++, C# i Javy tworz¹cych
aplikacje dla Windows.
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O Autorach.......................................................................................................... 17
Wstęp ................................................................................................................. 19
Rozdział 1. Wprowadzenie do .NET ....................................................................... 23
Co to jest .NET? ............................................................................................................................ 23
Wstęp do kluczowych technologii.................................................................................................... 25
IL i specyfikacja CLS ............................................................................................................... 26
Środowisko CLR...................................................................................................................... 27
Biblioteka klas bazowych.......................................................................................................... 27
ASP.NET ................................................................................................................................ 29
Windows Forms ....................................................................................................................... 30
XML....................................................................................................................................... 31
C#........................................................................................................................................... 32
Jak działa .NET?............................................................................................................................ 34
IL i metadane........................................................................................................................... 34
Kompilacja JIT ........................................................................................................................ 35
Kod nadzorowany a automatyczne zwalnianie pamięci ................................................................ 36
Przestrzenie nazw..................................................................................................................... 36
Podzespoły .............................................................................................................................. 37
Dziedziny aplikacyjne............................................................................................................... 40
Wpływ .NET na Visual C++ i Visual Basica..................................................................................... 41
Visual C++ .............................................................................................................................. 41
Visual Basic............................................................................................................................. 43
Oto C# .......................................................................................................................................... 44
Co się stało z COM?....................................................................................................................... 46
Rozdział 2. Model programowania w środowisku .NET ........................................... 49
Teoria ........................................................................................................................................... 49
Programowanie obiektowe z lotu ptaka....................................................................................... 49
Co to jest obiekt?................................................................................................................ 50
Zapis klas i obiektów w kodzie............................................................................................. 52
Dziedziczenie i polimorfizm ................................................................................................ 54
Mała dygresja na temat UML............................................................................................... 57
Interfejsy ........................................................................................................................... 58
Klasy....................................................................................................................................... 59
Części składowe klasy......................................................................................................... 59
Modyfikatory klas............................................................................................................... 60
Typy referencyjne i bezpośrednie............................................................................................... 61
Struktury ................................................................................................................................. 63
Dziedziczenie........................................................................................................................... 65
Interfejsy ................................................................................................................................. 65
Delegacje................................................................................................................................. 66
Zdarzenia................................................................................................................................. 67
4
Visual Studio .NET: .NET Framework. Czarna księga
Metadane i atrybuty.................................................................................................................. 68
Wyjątki ................................................................................................................................... 69
Refleksja i klasa Type............................................................................................................... 72
Gotowe rozwiązania ....................................................................................................................... 74
Definiowanie klas..................................................................................................................... 74
Przecią anie i przesłanianie metod ............................................................................................. 74
Definiowanie pól i metod nale ących do klasy ............................................................................ 75
Definiowanie struktur ............................................................................................................... 75
Konstruktory i destruktory w VB ............................................................................................... 77
Sprzątanie po obiektach .NET ................................................................................................... 78
Korzystanie z dziedziczenia....................................................................................................... 78
Przesłanianie metod.................................................................................................................. 79
Definiowanie klas abstrakcyjnych .............................................................................................. 80
Definiowanie zapieczętowanych klas i metod.............................................................................. 81
Definiowanie właściwości ......................................................................................................... 81
Definiowanie interfejsów .......................................................................................................... 83
Implementowanie interfejsów .................................................................................................... 83
Korzystanie z obiektu za pośrednictwem interfejsu ...................................................................... 84
Definiowanie i u ywanie delegacji ............................................................................................. 86
Definiowanie i u ywanie zdarzeń............................................................................................... 90
Jak dołączyć atrybuty do klas i składowych?............................................................................... 96
Jak definiuje się atrybuty u ytkownika?...................................................................................... 97
Jak odczytać wartość atrybutu?................................................................................................ 100
Jak obsłu yć wyjątek? ............................................................................................................ 102
Jak zgłosić wyjątek? ............................................................................................................... 104
Jak otrzymać obiekt klasy Type z informacjami o typie? ............................................................ 104
Jak odczytać informacje o typie? ............................................................................................. 105
Dynamiczne tworzenie obiektów ............................................................................................. 107
Rozdział 3. Przestrzeń nazw System.................................................................... 109
Teoria ......................................................................................................................................... 109
Typy podstawowe .................................................................................................................. 109
Typy podstawowe a CLS................................................................................................... 110
Typy zmiennopozycyjne.................................................................................................... 110
Konwersje........................................................................................................................ 111
Interfejsy ......................................................................................................................... 112
Klasa Object .......................................................................................................................... 113
Równość obiektów............................................................................................................ 113
Finalizacja........................................................................................................................ 115
Metoda GetHashCode()..................................................................................................... 116
Metoda GetType() ............................................................................................................ 116
Klonowanie i kopiowanie .................................................................................................. 116
ToString() ........................................................................................................................ 117
Tablice .................................................................................................................................. 118
Inne typy ............................................................................................................................... 119
String............................................................................................................................... 119
DateTime i TimeSpan ....................................................................................................... 119
TimeZone ........................................................................................................................ 119
Decimal ........................................................................................................................... 120
Wyliczenia............................................................................................................................. 120
Wyjątki ................................................................................................................................. 121
Klasa Console ........................................................................................................................ 122
Klasa Math ............................................................................................................................ 123
Klasa Type ............................................................................................................................ 123
Inne klasy .............................................................................................................................. 124
Spis treści
5
Gotowe rozwiązania ..................................................................................................................... 124
W jaki sposób mo na skorzystać z klas zdefiniowanych w przestrzeni nazw System? .................. 124
Co łączy typy danego języka programowania z typami przestrzeni System? ................................ 125
Jak zdefiniować nowy typ bezpośredni? ................................................................................... 126
Jak sprawdzić, czy dwa obiekty są takie same? ......................................................................... 130
Typy referencyjne............................................................................................................. 130
Typy bezpośrednie............................................................................................................ 131
Jak zrealizować kopiowanie płytkie i głębokie?......................................................................... 131
Jak zdefiniować własną metodę ToString()?.............................................................................. 133
Indeksowanie tablic w języku Visual Basic ............................................................................... 135
Jak posługiwać się typem Array? ............................................................................................. 135
Tworzenie tablic ............................................................................................................... 136
Odczyt właściwości tablicy................................................................................................ 136
Odczyt elementów tablicy i nadanie im wartości.................................................................. 137
Metody klasy Array .......................................................................................................... 138
Jak posługiwać się typem String?............................................................................................. 140
Tworzenie obiektu klasy String .......................................................................................... 140
Porównywanie napisów..................................................................................................... 141
Kopiowanie i modyfikacja napisów .................................................................................... 142
Przeszukiwanie napisów .................................................................................................... 143
Konwersja napisów........................................................................................................... 144
Jak przedstawiać i posługiwać się datami i czasem?................................................................... 144
Tworzenie obiektu klasy TimeSpan .................................................................................... 144
Odczyt wartości obiektów TimeSpan.................................................................................. 145
Operacje na obiektach TimeSpan ....................................................................................... 145
Tworzenie obiektu klasy DateTime .................................................................................... 145
Wyprowadzenie daty i czasu.............................................................................................. 146
Odczyt wartości obiektów DateTime .................................................................................. 146
Operacje na obiektach DateTime........................................................................................ 147
Jak definiować i posługiwać się typami wyliczeniowymi?.......................................................... 148
Jak dowiedzieć się, jaki wyjątek oraz gdzie wystąpił? ................................................................ 149
Jak korzysta się z wyjątków wewnętrznych?............................................................................. 150
Czym ró nią się metody Console.WriteLine() i Console.Out.WriteLine()? .................................. 151
Jak formatować wyprowadzane dane?...................................................................................... 151
Wykorzystanie szablonów do formatowania ........................................................................ 152
Metoda ToString() ............................................................................................................ 153
Jak generuje się liczby losowe?................................................................................................ 154
Rozdział 4. Przestrzeń nazw System.Collections.................................................. 157
Teoria ......................................................................................................................................... 157
Interfejsy zdefiniowane w System.Collections........................................................................... 158
Interfejs IEnumerable........................................................................................................ 158
Interfejs IEnumerator ........................................................................................................ 159
Interfejs ICollection .......................................................................................................... 159
Interfejs IList.................................................................................................................... 160
Interfejs IComparer........................................................................................................... 160
Interfejs IDictionary .......................................................................................................... 161
Interfejs IDictionaryEnumerator ......................................................................................... 162
Interfejs IHashCodeProvider.............................................................................................. 162
Klasa ArrayList ...................................................................................................................... 162
Klasa BitArray ....................................................................................................................... 163
Klasa Hashtable...................................................................................................................... 163
Klasa NameValueCollection.................................................................................................... 165
6
Visual Studio .NET: .NET Framework. Czarna księga
Klasa Queue .......................................................................................................................... 165
Klasa SortedList ..................................................................................................................... 166
Klasa Stack............................................................................................................................ 166
Klasy StringCollection i StringDictionary ................................................................................. 167
Gotowe rozwiązania ..................................................................................................................... 167
Której klasy kolekcji u yć? ..................................................................................................... 167
Które kolekcje są wielobie ne? ................................................................................................ 168
Jak zbudować iterację dla elementów kolekcji? ......................................................................... 169
Jak posługiwać się klasą ArrayList? ......................................................................................... 170
Tworzenie i wypełnianie obiektu klasy ArrayList................................................................. 170
Usuwanie elementów ........................................................................................................ 171
Operacje na obiektach ArrayList ........................................................................................ 172
Korzystanie z metod opakowujących.................................................................................. 173
Jak przechowywać dane identyfikowane kluczami? ................................................................... 174
Tworzenie i wypełnianie obiektu klasy Hashtable ................................................................ 174
Wyszukiwanie kluczy i wartości w obiekcie klasy Hashtable ................................................ 175
Usuwanie elementów z obiektu klasy Hashtable .................................................................. 176
Korzystanie z metod opakowujących obiekt klasy Hashtable ................................................ 176
Korzystanie z klasy SortedList ........................................................................................... 177
Tworzenie i wypełnianie obiektu klasy SortedList................................................................ 177
Pobieranie elementów w obiekcie klasy SortedList .............................................................. 179
Modyfikacja elementów w obiekcie klasy SortedList ........................................................... 179
Usuwanie elementów w obiekcie klasy SortedList ............................................................... 179
Korzystanie z obiektów SortedList przez wiele wątków........................................................ 180
Przechowywanie listy elementów w obiekcie klasy Queue ......................................................... 180
Jak posługiwać się klasą Stack? ............................................................................................... 181
Jak przechowywać znaczniki w obiekcie klasy BitArray?........................................................... 182
Przechowywanie napisów w obiekcie klasy StringCollection...................................................... 183
Przechowywanie napisów w obiekcie klasy NameValueCollection ............................................. 184
Wyszukiwanie i pobieranie elementów ............................................................................... 185
Usuwanie elementów ........................................................................................................ 186
Jak określić własną kolejność sortowania? ................................................................................ 186
Jak zdefiniować własną kolekcję? ............................................................................................ 188
Rozdział 5. Przestrzenie nazw XML ..................................................................... 191
Teoria ......................................................................................................................................... 191
XML z lotu ptaka ................................................................................................................... 191
Co to jest XML?............................................................................................................... 192
Budowa dokumentu XML ................................................................................................. 193
Atrybuty .......................................................................................................................... 195
Poprawność dokumentu XML ........................................................................................... 195
Przestrzenie nazw ............................................................................................................. 196
Przetwarzanie dokumentów XML ...................................................................................... 197
Wykorzystanie arkuszy stylów XSL do przekształceń dokumentów XML ............................. 198
Przestrzeń nazw System.Xml................................................................................................... 200
Klasa XmlTextReader............................................................................................................. 200
Klasa XmlValidatingReader .................................................................................................... 202
Klasa XmlTextWriter.............................................................................................................. 203
Klasa XmlDocument............................................................................................................... 203
Klasa XmlNode ................................................................................................................ 205
Klasa XmlElement ............................................................................................................ 205
Składowe klasy XmlDocument .......................................................................................... 206
XSL i XPath .......................................................................................................................... 207
Klasa XPathNavigator............................................................................................................. 208
Zgłoś jeśli naruszono regulamin