C 5 0 Leksykon kieszonkowy Wydanie III.pdf

(483 KB) Pobierz
Tytuł oryginału: C# 5.0 Pocket Reference: Instant Help for C# 5.0 Programmers
Tłumaczenie: Przemysław Szeremiota
ISBN: 978-83-246-6273-9
© 2013 Helion S.A.
Authorized Polish translation of the English edition C# 5.0 Pocket Reference,
First Edition ISBN 9781449320171 © 2012 Joseph Albahari, Ben Albahari
This translation is published and sold by permission of O’Reilly Media, Inc., which
owns or controls all rights to publish and sell the same.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości
lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione.
Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki
na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich
niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź
towarowymi ich właścicieli.
Wydawnictwo HELION dołożyło wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie bierze
jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych
lub autorskich. Wydawnictwo HELION nie ponosi również żadnej odpowiedzialności
za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/ch5lk3
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Leksykon kieszonkowy
Konwencje typograficzne
Korzystanie z przyk adowych programów
Pierwszy program w C#
Sk adnia
System typów
Typy liczbowe
Typ warto ci logicznych i operatory logiczne
Znaki i ci gi znaków
Tablice
Zmienne i parametry
Operatory i wyra enia
Instrukcje
Przestrzenie nazw
Klasy
Dziedziczenie
Typ object
Struktury
Modyfikatory dost pu
Interfejsy
Typy wyliczeniowe
Typy zagnie d one
Uogólnienia
Delegaty
Zdarzenia
Wyra enia lambda
Metody anonimowe
Wyj tki i instrukcja try
Enumeratory i iteratory
Typy z dopuszczaln warto ci pust
5
5
6
7
10
13
22
29
31
34
38
46
51
58
62
72
80
84
85
87
90
92
93
101
107
113
116
117
124
129
3
Kup książkę
Poleć książkę
Przeci anie operatorów
Metody rozszerzaj ce
Typy anonimowe
LINQ
Wi zanie dynamiczne
Atrybuty
Atrybuty wywo ania
Funkcje asynchroniczne
Wska niki i kod nienadzorowany
Dyrektywy preprocesora
Dokumentacja XML
O autorach
Skorowidz
134
137
139
139
163
171
175
176
185
189
191
195
197
4
Spis tre ci
Kup książkę
Poleć książkę
Wi zanie dynamiczne
Wi zanie dynamiczne
oznacza przesuni cie momentu
wi zania
— pro-
cesu ustalania typów, sk adowych i wywo a — od czasu kompilacji
do czasu wykonania programu. Wi zanie dynamiczne zosta o wpro-
wadzone do j zyka C# w wersji 4.0; ma zastosowanie, kiedy
programista
wie, e pewna metoda, sk adowa czy operacja istnieje, ale
kompilator
nie
ma o niej informacji. Do takich sytuacji dochodzi cz sto w ramach
interoperacji z j zykami dynamicznymi (jak IronPython) i obiektami
COM, a tak e w sytuacjach typowych dla zastosowa mechanizmów
refleksji.
Typ dynamiczny jest deklarowany z kontekstowym s owem klu-
czowym
dynamic
:
dynamic d = GetSomeObject();
d.Quack();
Typ dynamiczny nakazuje kompilatorowi rozlu ni kontrol typów;
programista oczekuje, e w czasie wykonania zmienna typu
d
b dzie
posiada a metod
Quack
. Jedyna trudno w tym, e w czasie kompi-
lacji nie mo na tego potwierdzi . Poniewa
d
jest zmienn typu dy-
namicznego, kompilator opó ni wi zanie wywo ania metody
Quack
na rzecz
d
do czasu wykonania programu. Aby lepiej zrozumie , co to
oznacza, nale a oby zdefiniowa rozró nienie pomi dzy
wi zaniem
statycznym
i
dynamicznym.
Wi zanie statyczne a wi zanie dynamiczne
Klasycznym przyk adem wi zania jest odwzorowanie nazwy wyst -
puj cej w kompilowanym wyra eniu na konkretn metod czy sk a-
dow . Na przyk ad w poni szym wyra eniu kompilator musi odszuka
implementacj metody o nazwie
Quack
:
d.Quack();
Za ó my, e statyczny typ
d
to
Duck
:
Duck d = ...
d.Quack();
W najprostszym przypadku kompilator dokonuje wi zania poprzez
wyszukanie bezparametrowej metody
Quack
w klasie
Duck
. Je li to si
nie powiedzie, kompilator rozszerzy poszukiwania na metody z pa-
rametrami opcjonalnymi, metody typów bazowych, a wreszcie metody
rozszerzaj ce, które przyjmuj zmienn typu
Duck
w miejsce pierwsze-
go argumentu wywo ania. Je li i to nie doprowadzi do dopasowania
Wi zanie dynamiczne
163
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin