Изменения документа CLR via C# | Джеффри Рихтер

Редактировал(а) Alexandr Fokin 2022/12/12 12:01

<
От версии < 3.1 >
отредактировано Alexandr Fokin
на 2020/08/09 22:10
К версии < 1.5 >
отредактировано Alexandr Fokin
на 2020/01/05 21:43
>
Изменить комментарий: Update document after refactoring.

Комментарий

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Книги.WebHome
1 +Кн.WebHome
Содержимое
... ... @@ -1,1697 +1,0 @@
1 -
2 -{{html}}
3 -<html>
4 -
5 -<head>
6 -<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
7 -<meta name=Generator content="Microsoft Word 15 (filtered)">
8 -<style>
9 -<!--
10 - /* Font Definitions */
11 - @font-face
12 - {font-family:Wingdings;
13 - panose-1:5 0 0 0 0 0 0 0 0 0;}
14 -@font-face
15 - {font-family:"Cambria Math";
16 - panose-1:2 4 5 3 5 4 6 3 2 4;}
17 -@font-face
18 - {font-family:"Calibri Light";
19 - panose-1:2 15 3 2 2 2 4 3 2 4;}
20 -@font-face
21 - {font-family:"Segoe UI";
22 - panose-1:2 11 5 2 4 2 4 2 2 3;}
23 - /* Style Definitions */
24 - p.MsoNormal, li.MsoNormal, div.MsoNormal
25 - {margin-top:0cm;
26 - margin-right:0cm;
27 - margin-bottom:8.0pt;
28 - margin-left:0cm;
29 - line-height:107%;
30 - font-size:11.0pt;
31 - font-family:"Calibri",sans-serif;}
32 -h1
33 - {mso-style-link:"Заголовок 1 Знак";
34 - margin-top:12.0pt;
35 - margin-right:0cm;
36 - margin-bottom:0cm;
37 - margin-left:0cm;
38 - margin-bottom:.0001pt;
39 - line-height:107%;
40 - page-break-after:avoid;
41 - font-size:16.0pt;
42 - font-family:"Calibri Light",sans-serif;
43 - color:#2E74B5;
44 - font-weight:normal;}
45 -h2
46 - {mso-style-link:"Заголовок 2 Знак";
47 - margin-top:2.0pt;
48 - margin-right:0cm;
49 - margin-bottom:0cm;
50 - margin-left:0cm;
51 - margin-bottom:.0001pt;
52 - line-height:107%;
53 - page-break-after:avoid;
54 - font-size:13.0pt;
55 - font-family:"Calibri Light",sans-serif;
56 - color:#2E74B5;
57 - font-weight:normal;}
58 -h3
59 - {mso-style-link:"Заголовок 3 Знак";
60 - margin-top:2.0pt;
61 - margin-right:0cm;
62 - margin-bottom:0cm;
63 - margin-left:0cm;
64 - margin-bottom:.0001pt;
65 - line-height:107%;
66 - page-break-after:avoid;
67 - font-size:12.0pt;
68 - font-family:"Calibri Light",sans-serif;
69 - color:#1F4D78;
70 - font-weight:normal;}
71 -h4
72 - {mso-style-link:"Заголовок 4 Знак";
73 - margin-top:2.0pt;
74 - margin-right:0cm;
75 - margin-bottom:0cm;
76 - margin-left:0cm;
77 - margin-bottom:.0001pt;
78 - line-height:107%;
79 - page-break-after:avoid;
80 - font-size:11.0pt;
81 - font-family:"Calibri Light",sans-serif;
82 - color:#2E74B5;
83 - font-weight:normal;
84 - font-style:italic;}
85 -p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
86 - {mso-style-link:"Текст выноски Знак";
87 - margin:0cm;
88 - margin-bottom:.0001pt;
89 - font-size:9.0pt;
90 - font-family:"Segoe UI",sans-serif;}
91 -p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
92 - {margin-top:0cm;
93 - margin-right:0cm;
94 - margin-bottom:8.0pt;
95 - margin-left:36.0pt;
96 - line-height:107%;
97 - font-size:11.0pt;
98 - font-family:"Calibri",sans-serif;}
99 -p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
100 - {margin-top:0cm;
101 - margin-right:0cm;
102 - margin-bottom:0cm;
103 - margin-left:36.0pt;
104 - margin-bottom:.0001pt;
105 - line-height:107%;
106 - font-size:11.0pt;
107 - font-family:"Calibri",sans-serif;}
108 -p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
109 - {margin-top:0cm;
110 - margin-right:0cm;
111 - margin-bottom:0cm;
112 - margin-left:36.0pt;
113 - margin-bottom:.0001pt;
114 - line-height:107%;
115 - font-size:11.0pt;
116 - font-family:"Calibri",sans-serif;}
117 -p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
118 - {margin-top:0cm;
119 - margin-right:0cm;
120 - margin-bottom:8.0pt;
121 - margin-left:36.0pt;
122 - line-height:107%;
123 - font-size:11.0pt;
124 - font-family:"Calibri",sans-serif;}
125 -span.1
126 - {mso-style-name:"Заголовок 1 Знак";
127 - mso-style-link:"Заголовок 1";
128 - font-family:"Calibri Light",sans-serif;
129 - color:#2E74B5;}
130 -span.2
131 - {mso-style-name:"Заголовок 2 Знак";
132 - mso-style-link:"Заголовок 2";
133 - font-family:"Calibri Light",sans-serif;
134 - color:#2E74B5;}
135 -span.3
136 - {mso-style-name:"Заголовок 3 Знак";
137 - mso-style-link:"Заголовок 3";
138 - font-family:"Calibri Light",sans-serif;
139 - color:#1F4D78;}
140 -span.4
141 - {mso-style-name:"Заголовок 4 Знак";
142 - mso-style-link:"Заголовок 4";
143 - font-family:"Calibri Light",sans-serif;
144 - color:#2E74B5;
145 - font-style:italic;}
146 -span.a
147 - {mso-style-name:"Текст выноски Знак";
148 - mso-style-link:"Текст выноски";
149 - font-family:"Segoe UI",sans-serif;}
150 -.MsoPapDefault
151 - {margin-bottom:8.0pt;
152 - line-height:107%;}
153 -@page WordSection1
154 - {size:595.3pt 841.9pt;
155 - margin:36.0pt 36.0pt 36.0pt 36.0pt;}
156 -div.WordSection1
157 - {page:WordSection1;}
158 - /* List Definitions */
159 - ol
160 - {margin-bottom:0cm;}
161 -ul
162 - {margin-bottom:0cm;}
163 --->
164 -</style>
165 -
166 -</head>
167 -
168 -<body lang=RU>
169 -
170 -<div class=WordSection1>
171 -
172 -<h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
173 -Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
174 -</span></span>Часть I. Основы CLR</h1>
175 -
176 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
177 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
178 -1. Модель выполнения кода в среде CLR</h2>
179 -
180 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
181 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компиляция
182 -исходного кода в управляемые модули</h3>
183 -
184 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
185 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Объединение
186 -управляемых модулей в сборку</h3>
187 -
188 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
189 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Загрузка
190 -CLR</h3>
191 -
192 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
193 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Исполнение
194 -кода сборки </h3>
195 -
196 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
197 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
198 -</span></span>IL-код и верификация</h4>
199 -
200 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
201 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
202 -</span></span>Небезопасный код</h4>
203 -
204 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
205 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
206 -</span></span>IL и защита интеллектуальной собственности</h4>
207 -
208 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
209 -style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
210 -</span></span><span lang=EN-US>NGen.exe</span></h3>
211 -
212 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
213 -style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
214 -</span></span>Библиотека <span lang=EN-US>FCL </span></h3>
215 -
216 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
217 -style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
218 -</span></span><span lang=EN-US>CTS</span></h3>
219 -
220 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
221 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>CLS</h3>
222 -
223 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
224 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Взаимодействие
225 -с неуправляемым кодом</h3>
226 -
227 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
228 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
229 -2. Компоновка, упаковка, развертывание и администрирование приложений и типов</h2>
230 -
231 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
232 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Задачи
233 -развертывания в <span lang=EN-US>.</span>NET Framework</h3>
234 -
235 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
236 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компоновка
237 -типов в модуль</h3>
238 -
239 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
240 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
241 -</span></span>Файл параметров</h4>
242 -
243 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
244 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Несколько
245 -слов о метаданных</h3>
246 -
247 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
248 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Объединение
249 -модулей для создания сборки</h3>
250 -
251 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
252 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
253 -</span></span>Добавление сборок в проект в среде Visual Studio</h4>
254 -
255 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
256 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
257 -</span></span>Использование утилиты Assembly Linker</h4>
258 -
259 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
260 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
261 -</span></span>Включение в сборку файлов ресурсов</h4>
262 -
263 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
264 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Ресурсы
265 -со сведениями о версии сборки</h3>
266 -
267 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
268 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
269 -</span></span>Номера версии</h4>
270 -
271 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
272 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Региональные
273 -стандарты</h3>
274 -
275 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
276 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Развертывание
277 -простых приложений (закрытое развертывание сборок)</h3>
278 -
279 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
280 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простое
281 -средство администрирования (конфигурационный файл)</h3>
282 -
283 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
284 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
285 -</span></span>Алгоритм поиска файлов сборки</h4>
286 -
287 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
288 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
289 -3. Совместно используемые сборки и сборки со строгим именем</h2>
290 -
291 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
292 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Два
293 -вида сборок — два вида развертывания</h3>
294 -
295 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
296 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Назначение
297 -сборке строгого имени</h3>
298 -
299 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
300 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Глобальный
301 -кэш сборок</h3>
302 -
303 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
304 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Построение
305 -сборки, ссылающейся на сборку со строгим именем</h3>
306 -
307 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
308 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Устойчивость
309 -сборок со строгими именами к несанкционированной модификации</h3>
310 -
311 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
312 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отложенное
313 -подписание</h3>
314 -
315 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
316 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Закрытое
317 -развертывание сборок со строгими именами</h3>
318 -
319 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
320 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
321 -исполняющая среда разрешает ссылки на типы</h3>
322 -
323 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
324 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Дополнительные
325 -административные средства (конфигурационные файлы)</h3>
326 -
327 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
328 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
329 -</span></span>Управление версиями при помощи политики издателя</h4>
330 -
331 -<h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
332 -Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
333 -</span></span>Часть II. Проектирование типов</h1>
334 -
335 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
336 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
337 -4. Основы типов</h2>
338 -
339 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
340 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Все
341 -типы — производные от System.Object</h3>
342 -
343 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
344 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приведение
345 -типов</h3>
346 -
347 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
348 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
349 -</span></span>Приведение типов в C# с помощью операторов is и as</h4>
350 -
351 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
352 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Пространства
353 -имен и сборки</h3>
354 -
355 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
356 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
357 -</span></span>Связь между сборками и пространством имен</h4>
358 -
359 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
360 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
361 -разные компоненты взаимодействуют во время выполнения</h3>
362 -
363 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
364 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
365 -5. Примитивные, ссылочные и значимые типы</h2>
366 -
367 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
368 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивные
369 -типы в языках программирования</h3>
370 -
371 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
372 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
373 -</span></span>Проверяемые и непроверяемые операции для примитивных типов</h4>
374 -
375 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
376 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Ссылочные
377 -и значимые типы</h3>
378 -
379 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
380 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
381 -</span></span>Как CLR управляет размещением полей для типа </h4>
382 -
383 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
384 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Упаковка
385 -и распаковка значимых типов</h3>
386 -
387 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
388 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
389 -</span></span>Изменение полей в упакованных значимых типах посредством интерфейсов
390 -(и почему этого лучше не делать)</h4>
391 -
392 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
393 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
394 -</span></span>Равенство и тождество объектов</h4>
395 -
396 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
397 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Хеш-коды
398 -объектов</h3>
399 -
400 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
401 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивный
402 -тип данных dynamic</h3>
403 -
404 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
405 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
406 -6. Основные сведения о членах и типах</h2>
407 -
408 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
409 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Члены
410 -типа</h3>
411 -
412 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
413 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Видимость
414 -типа</h3>
415 -
416 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
417 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
418 -</span></span>Дружественные сборки</h4>
419 -
420 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
421 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Доступ
422 -к членам типов</h3>
423 -
424 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
425 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Статические
426 -классы</h3>
427 -
428 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
429 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Частичные
430 -классы, структуры и интерфейсы</h3>
431 -
432 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
433 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компоненты,
434 -полиморфизм и версии</h3>
435 -
436 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
437 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
438 -</span></span>Вызов виртуальных методов, свойств и событий в CLR</h4>
439 -
440 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
441 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
442 -</span></span>Разумное использование видимости типов и модификаторов доступа к членам</h4>
443 -
444 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
445 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
446 -</span></span>Работа с виртуальными методами при управлении версиями типов</h4>
447 -
448 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
449 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
450 -7. Константы и поля</h2>
451 -
452 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
453 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Константы</h3>
454 -
455 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
456 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поля</h3>
457 -
458 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
459 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
460 -8. Методы</h2>
461 -
462 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
463 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
464 -экземпляров и классы (ссылочные типы)</h3>
465 -
466 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
467 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
468 -экземпляров и структуры (значимые типы)</h3>
469 -
470 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
471 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
472 -типов</h3>
473 -
474 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
475 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
476 -перегруженных операторов</h3>
477 -
478 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
479 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
480 -</span></span>Операторы и взаимодействие языков программирования</h4>
481 -
482 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
483 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
484 -</span></span>Особое мнение автора о правилах Microsoft, связанных с именами методов
485 -операторов</h4>
486 -
487 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
488 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
489 -операторов преобразования</h3>
490 -
491 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
492 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
493 -расширения</h3>
494 -
495 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
496 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
497 -</span></span>Правила и рекомендации</h4>
498 -
499 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
500 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
501 -</span></span>Расширение разных типов методами расширения</h4>
502 -
503 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
504 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
505 -</span></span>Атрибут расширения</h4>
506 -
507 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
508 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Частичные
509 -методы</h3>
510 -
511 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
512 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
513 -</span></span>Правила и рекомендации</h4>
514 -
515 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
516 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
517 -9. Параметры</h2>
518 -
519 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
520 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Необязательные
521 -и именованные параметры</h3>
522 -
523 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
524 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
525 -</span></span>Правила использования параметров.</h4>
526 -
527 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
528 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
529 -</span></span>Атрибут DefaultParameterValue и необязательные атрибуты</h4>
530 -
531 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
532 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Неявно
533 -типизированные локальные переменные</h3>
534 -
535 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
536 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
537 -параметров в метод по ссылке</h3>
538 -
539 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
540 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
541 -переменного количества аргументов</h3>
542 -
543 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
544 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Типы
545 -параметров и возвращаемых значений</h3>
546 -
547 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
548 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Константность</h3>
549 -
550 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
551 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
552 -10. Свойства</h2>
553 -
554 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
555 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Свойства
556 -без параметров</h3>
557 -
558 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
559 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
560 -</span></span>Автоматически реализуемые свойства</h4>
561 -
562 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
563 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
564 -</span></span>Осторожный подход к определению свойств</h4>
565 -
566 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
567 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
568 -</span></span>Свойства и отладчик Visual Studio</h4>
569 -
570 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
571 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
572 -</span></span>Инициализаторы объектов и коллекций</h4>
573 -
574 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
575 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
576 -</span></span>Анонимные типы</h4>
577 -
578 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
579 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
580 -</span></span>Тип System.Tuple</h4>
581 -
582 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
583 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Свойства
584 -с параметрами</h3>
585 -
586 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
587 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
588 -</span></span>Выбор главного свойства с параметрами</h4>
589 -
590 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
591 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Производительность
592 -при вызове методов доступа</h3>
593 -
594 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
595 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Доступность
596 -методов доступа свойств</h3>
597 -
598 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
599 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
600 -методы доступа свойств</h3>
601 -
602 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
603 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
604 -11. События</h2>
605 -
606 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
607 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Разработка
608 -типа, поддерживающего событие</h3>
609 -
610 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
611 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
612 -1. Определение типа для хранения всей дополнительной информации, передаваемой получателям
613 -уведомления о событии</h3>
614 -
615 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
616 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
617 -2. Определение члена-события</h3>
618 -
619 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
620 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
621 -3. Определение метода, ответственного за уведомление зарегистрированных объектов
622 -о событии</h3>
623 -
624 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
625 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
626 -4. Определение метода, преобразующего входную информацию в желаемое событие</h3>
627 -
628 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
629 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Реализация
630 -событий компилятором</h3>
631 -
632 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
633 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
634 -типа, отслеживающего событие</h3>
635 -
636 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
637 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Явное
638 -управление регистрацией событий</h3>
639 -
640 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
641 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
642 -12. Обобщения</h2>
643 -
644 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
645 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
646 -в библиотеке FCL</h3>
647 -
648 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
649 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Инфраструктура
650 -обобщений</h3>
651 -
652 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
653 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
654 -</span></span>Открытые и закрытые типы</h4>
655 -
656 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
657 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
658 -</span></span>Обобщенные типы и наследование</h4>
659 -
660 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
661 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
662 -</span></span>Идентификация обобщенных типов</h4>
663 -
664 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
665 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
666 -</span></span>Разрастание кода</h4>
667 -
668 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
669 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
670 -интерфейсы</h3>
671 -
672 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
673 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
674 -делегаты</h3>
675 -
676 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
677 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
678 -</span></span>Контравариантные и ковариантные аргументы-типы в делегатах и интерфейсах</h4>
679 -
680 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
681 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
682 -методы</h3>
683 -
684 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
685 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
686 -</span></span>Обобщенные методы и выведение типов</h4>
687 -
688 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
689 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
690 -и другие члены</h3>
691 -
692 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
693 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Верификация
694 -и ограничения</h3>
695 -
696 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
697 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
698 -</span></span>Основные ограничения</h4>
699 -
700 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
701 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
702 -</span></span>Дополнительные ограничения</h4>
703 -
704 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
705 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
706 -</span></span>Ограничения конструктора</h4>
707 -
708 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
709 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
710 -</span></span>Другие проблемы верификации</h4>
711 -
712 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
713 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
714 -13<span lang=EN-US>.</span><span lang=EN-US> </span>Интерфейсы</h2>
715 -
716 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
717 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Наследование
718 -в классах и интерфейсах</h3>
719 -
720 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
721 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
722 -интерфейсов</h3>
723 -
724 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
725 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Наследование
726 -интерфейсов</h3>
727 -
728 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
729 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Подробнее
730 -о вызовах интерфейсных методов</h3>
731 -
732 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
733 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Явные
734 -и неявные реализации интерфейсных методов (что происходит за кулисами)</h3>
735 -
736 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
737 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
738 -интерфейсы</h3>
739 -
740 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
741 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
742 -и ограничения интерфейса</h3>
743 -
744 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
745 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Реализация
746 -нескольких интерфейсов с одинаковыми сигнатурами и именами методов</h3>
747 -
748 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
749 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Совершенствование
750 -безопасности типов за счет явной реализации интерфейсных методов</h3>
751 -
752 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
753 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Опасности
754 -явной реализации интерфейсных методов</h3>
755 -
756 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
757 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Дилемма
758 -разработчика: базовый класс или интерфейс?</h3>
759 -
760 -<h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
761 -Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
762 -</span></span>Часть III. Основные типы данных</h1>
763 -
764 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
765 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
766 -14. Символы, строки и обработка текста</h2>
767 -
768 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
769 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Символы</h3>
770 -
771 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
772 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Тип
773 -System.String</h3>
774 -
775 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
776 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
777 -</span></span>Создание строк</h4>
778 -
779 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
780 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
781 -</span></span>Неизменяемые строки</h4>
782 -
783 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
784 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
785 -</span></span>Сравнение строк</h4>
786 -
787 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
788 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
789 -</span></span>Интернирование строк</h4>
790 -
791 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
792 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
793 -</span></span>Создание пулов строк</h4>
794 -
795 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
796 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
797 -</span></span>Работа с символами и текстовыми элементами в строке</h4>
798 -
799 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
800 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
801 -</span></span>Прочие операции со строками</h4>
802 -
803 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
804 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Эффективное
805 -создание строк</h3>
806 -
807 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
808 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
809 -</span></span>Создание объекта StringBuilder</h4>
810 -
811 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
812 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
813 -</span></span>Члены типа StringBuilder</h4>
814 -
815 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
816 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Получение
817 -строкового представления объекта</h3>
818 -
819 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
820 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
821 -</span></span>Форматы и региональные стандарты</h4>
822 -
823 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
824 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
825 -</span></span>Форматирование нескольких объектов в одну строку</h4>
826 -
827 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
828 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
829 -</span></span>Создание собственного средства форматирования</h4>
830 -
831 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
832 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Получение
833 -объекта посредством разбора строки</h3>
834 -
835 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
836 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Кодировки:
837 -преобразования между символами и байтами</h3>
838 -
839 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
840 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
841 -</span></span>Кодирование и декодирование потоков символов и байтов</h4>
842 -
843 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
844 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
845 -</span></span>Кодирование и декодирование строк в кодировке Base-64</h4>
846 -
847 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
848 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Защищенные
849 -строки</h3>
850 -
851 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
852 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
853 -15. Перечислимые типы и битовые флаги</h2>
854 -
855 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
856 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Перечислимые
857 -типы</h3>
858 -
859 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
860 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Битовые
861 -флаги</h3>
862 -
863 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
864 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Добавление
865 -методов к перечислимым типам</h3>
866 -
867 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
868 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
869 -16. Массивы</h2>
870 -
871 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
872 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Инициализация
873 -элементов массива</h3>
874 -
875 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
876 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приведение
877 -типов в массивах</h3>
878 -
879 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
880 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Базовый
881 -класс System Array</h3>
882 -
883 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
884 -style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
885 -</span></span>Реализация интерфейсов <span lang=EN-US>IEnumerable, ICollection </span>и
886 -<span lang=EN-US>IList</span></h3>
887 -
888 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
889 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
890 -и возврат массивов</h3>
891 -
892 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
893 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Массивы
894 -с ненулевой нижней границей</h3>
895 -
896 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
897 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Внутренняя
898 -реализация массивов</h3>
899 -
900 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
901 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Небезопасный
902 -доступ к массивам и массивы фиксированного размера</h3>
903 -
904 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
905 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
906 -17. Делегаты</h2>
907 -
908 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
909 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Знакомство
910 -с делегатами</h3>
911 -
912 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
913 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
914 -вызов статических методов</h3>
915 -
916 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
917 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
918 -вызов экземплярных методов</h3>
919 -
920 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
921 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Тонкости
922 -использования делегатов</h3>
923 -
924 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
925 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
926 -вызов нескольких методов (цепочки делегатов)</h3>
927 -
928 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
929 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
930 -</span></span>Поддержка цепочек делегатов в C#</h4>
931 -
932 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
933 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
934 -</span></span>Дополнительные средства управления цепочками делегатов</h4>
935 -
936 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
937 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
938 -делегаты</h3>
939 -
940 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
941 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Упрощенный
942 -синтаксис работы с делегатами</h3>
943 -
944 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
945 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
946 -</span></span>Упрощение 1: не создаем объект делегата</h4>
947 -
948 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
949 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
950 -</span></span>Упрощение 2: не определяем метод обратного вызова</h4>
951 -
952 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
953 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
954 -</span></span>Упрощение 3: не создаем обертку для локальных переменных для передачи
955 -их методу обратного вызова</h4>
956 -
957 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
958 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Делегаты
959 -и отражение</h3>
960 -
961 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
962 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
963 -18. Настраиваемые атрибуты</h2>
964 -
965 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
966 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сфера
967 -применения настраиваемых атрибутов</h3>
968 -
969 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
970 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
971 -класса атрибутов</h3>
972 -
973 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
974 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструктор
975 -атрибута и типы данных полей и свойств</h3>
976 -
977 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
978 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выявление
979 -настраиваемых атрибутов</h3>
980 -
981 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
982 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сравнение
983 -экземпляров атрибута</h3>
984 -
985 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
986 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выявление
987 -настраиваемых атрибутов без создания объектов, производных от Attribute</h3>
988 -
989 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
990 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Условные
991 -атрибуты</h3>
992 -
993 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
994 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
995 -19. Null-совместимые значимые типы</h2>
996 -
997 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
998 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поддержка
999 -в C# null-совместимых значимых типов</h3>
1000 -
1001 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1002 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Оператор
1003 -объединения null-совместимых значений</h3>
1004 -
1005 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1006 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поддержка
1007 -в CLR null-совместимых значимых типов</h3>
1008 -
1009 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1010 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1011 -</span></span>Упаковка null-совместимых значимых типов</h4>
1012 -
1013 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1014 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1015 -</span></span>Распаковка null-совместимых значимых типов</h4>
1016 -
1017 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1018 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1019 -</span></span>Вызов метода GetType через null-совместимый значимый тип</h4>
1020 -
1021 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1022 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1023 -</span></span>Вызов интерфейсных методов через null-совместимый  значимый тип</h4>
1024 -
1025 -<h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
1026 -Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1027 -</span></span>Часть IV. Ключевые механизмы</h1>
1028 -
1029 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1030 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1031 -20. Исключения и управление состоянием 496</h2>
1032 -
1033 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1034 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
1035 -«исключения»</h3>
1036 -
1037 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1038 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Механика
1039 -обработки исключений</h3>
1040 -
1041 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1042 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1043 -</span></span>Блок try</h4>
1044 -
1045 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1046 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1047 -</span></span>Блок catch</h4>
1048 -
1049 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1050 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1051 -</span></span>Блок finally</h4>
1052 -
1053 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1054 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1055 -</span></span>CLS-совместимые и CLS-несовместимые исключения</h4>
1056 -
1057 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1058 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Класс
1059 -System<span lang=EN-US>.</span>Exception</h3>
1060 -
1061 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1062 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Классы
1063 -исключений, определенные в FCL</h3>
1064 -
1065 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1066 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Генерирование
1067 -исключений</h3>
1068 -
1069 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1070 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
1071 -классов исключений</h3>
1072 -
1073 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1074 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Продуктивность
1075 -вместо надежности</h3>
1076 -
1077 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1078 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приемы
1079 -работы с исключениями</h3>
1080 -
1081 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1082 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1083 -</span></span>Активно используйте блоки finally</h4>
1084 -
1085 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1086 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1087 -</span></span>Не надо перехватывать все исключения</h4>
1088 -
1089 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1090 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1091 -</span></span>Корректное восстановление после исключения</h4>
1092 -
1093 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1094 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отмена
1095 -незавершенных операций при невосстановимых исключениях</h3>
1096 -
1097 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1098 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сокрытие
1099 -деталей реализации для сохранения контракта</h3>
1100 -
1101 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1102 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Необработанные
1103 -исключения</h3>
1104 -
1105 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1106 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отладка
1107 -исключений</h3>
1108 -
1109 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1110 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Скорость
1111 -обработки исключений</h3>
1112 -
1113 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1114 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Области
1115 -ограниченного выполнения</h3>
1116 -
1117 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1118 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контракты
1119 -кода</h3>
1120 -
1121 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1122 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1123 -21. Автоматическое управление памятью (уборка мусора)</h2>
1124 -
1125 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1126 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управляемая
1127 -куча</h3>
1128 -
1129 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1130 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1131 -</span></span>Выделение ресурсов из управляемой кучи</h4>
1132 -
1133 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1134 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1135 -</span></span>Алгоритм уборки мусора</h4>
1136 -
1137 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1138 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1139 -</span></span>Уборка мусора и отладка</h4>
1140 -
1141 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1142 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поколения</h3>
1143 -
1144 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1145 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1146 -</span></span>Запуск уборки мусора</h4>
1147 -
1148 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1149 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1150 -</span></span>Большие объекты</h4>
1151 -
1152 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1153 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1154 -</span></span>Режимы уборки мусора</h4>
1155 -
1156 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1157 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1158 -</span></span>Программное управление уборщиком мусора</h4>
1159 -
1160 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1161 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1162 -</span></span>Мониторинг использования памяти приложением</h4>
1163 -
1164 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1165 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Освобождение
1166 -ресурсов при помощи механизма финализации</h3>
1167 -
1168 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1169 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1170 -</span></span>Типы, использующие системные ресурсы</h4>
1171 -
1172 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1173 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1174 -</span></span>Интересные аспекты зависимостей</h4>
1175 -
1176 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1177 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1178 -</span></span>Другие возможности уборщика мусора для работы с системными ресурсами</h4>
1179 -
1180 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1181 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1182 -</span></span>Внутренняя реализация финализации</h4>
1183 -
1184 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1185 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Мониторинг
1186 -и контроль времени жизни объектов</h3>
1187 -
1188 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1189 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1190 -22. Хостинг CLR и домены приложений</h2>
1191 -
1192 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1193 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Хостинг
1194 -CLR</h3>
1195 -
1196 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1197 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Домены
1198 -приложений</h3>
1199 -
1200 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1201 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1202 -</span></span>Доступ к объектам из других доменов</h4>
1203 -
1204 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1205 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выгрузка
1206 -доменов</h3>
1207 -
1208 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1209 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Мониторинг
1210 -доменов</h3>
1211 -
1212 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1213 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Уведомление
1214 -о первом управляемом исключении домена</h3>
1215 -
1216 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1217 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Использование
1218 -хостами доменов приложений</h3>
1219 -
1220 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1221 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1222 -</span></span>Исполняемые приложения</h4>
1223 -
1224 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1225 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1226 -</span></span>Полнофункциональные интернет-приложения Silverlight</h4>
1227 -
1228 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1229 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1230 -</span></span>Microsoft ASPNET и веб-службы XML</h4>
1231 -
1232 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1233 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1234 -</span></span>Microsoft SQL Server</h4>
1235 -
1236 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1237 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1238 -</span></span>Будущее и мечты</h4>
1239 -
1240 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1241 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Нетривиальное
1242 -управление хостингом</h3>
1243 -
1244 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1245 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1246 -</span></span>Применение управляемого кода</h4>
1247 -
1248 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1249 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1250 -</span></span>Разработка надежных хост-приложений</h4>
1251 -
1252 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1253 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1254 -</span></span>Возвращение потока в хост</h4>
1255 -
1256 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1257 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1258 -23. Загрузка сборок и отражение</h2>
1259 -
1260 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1261 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Загрузка
1262 -сборок</h3>
1263 -
1264 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1265 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Использование
1266 -отражения для создания динамически расширяемых приложений</h3>
1267 -
1268 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1269 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Производительность
1270 -отражения</h3>
1271 -
1272 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1273 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1274 -</span></span>Нахождение типов, определенных в сборке</h4>
1275 -
1276 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1277 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1278 -</span></span>Объект Type</h4>
1279 -
1280 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1281 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1282 -</span></span>Создание иерархии типов, производных от Exception</h4>
1283 -
1284 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1285 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1286 -</span></span>Создание экземпляра типа</h4>
1287 -
1288 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1289 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
1290 -приложений с поддержкой подключаемых компонентов</h3>
1291 -
1292 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1293 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1294 -</span></span>Нахождение членов типа путем отражения</h4>
1295 -
1296 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1297 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1298 -</span></span>Нахождение членов типа</h4>
1299 -
1300 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1301 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1302 -</span></span>Обращение к членам типов</h4>
1303 -
1304 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1305 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1306 -</span></span>Использование дескрипторов привязки для снижения потребления памяти
1307 -процессом</h4>
1308 -
1309 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1310 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1311 -24. Сериализация</h2>
1312 -
1313 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1314 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Практический
1315 -пример сериализации/десериализации</h3>
1316 -
1317 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1318 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализуемые
1319 -типы</h3>
1320 -
1321 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1322 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управление
1323 -сериализацией и десериализацией</h3>
1324 -
1325 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1326 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализация
1327 -экземпляров типа</h3>
1328 -
1329 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1330 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управление
1331 -сериализованными и десериализованными данными</h3>
1332 -
1333 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1334 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1335 -</span></span>Определение типа, реализующего интерфейс ISerializable, не реализуемый
1336 -базовым классом</h4>
1337 -
1338 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1339 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контексты
1340 -потока ввода-вывода</h3>
1341 -
1342 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1343 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализация
1344 -в другой тип и десериализация в другой объект</h3>
1345 -
1346 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1347 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Суррогаты
1348 -сериализации</h3>
1349 -
1350 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1351 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1352 -</span></span>Цепочка селекторов суррогатов</h4>
1353 -
1354 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1355 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Переопределение
1356 -сборки и/или типа при десериализации объекта</h3>
1357 -
1358 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1359 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1360 -25. Взаимодействие с компонентами WinRT</h2>
1361 -
1362 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1363 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Проекции
1364 -уровня CLR и правила системы типов компонентов WinRT</h3>
1365 -
1366 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1367 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1368 -</span></span>Основные концепции системы типов WinRT</h4>
1369 -
1370 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1371 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Проекции
1372 -уровня .NET Framework</h3>
1373 -
1374 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1375 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1376 -</span></span>Асинхронные вызовы WinRT API из кода  NET</h4>
1377 -
1378 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1379 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1380 -</span></span>Взаимодействия между потоками WinRT и потоками  NET</h4>
1381 -
1382 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1383 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1384 -</span></span>Передача блоков данных между CLR и WinRT</h4>
1385 -
1386 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1387 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
1388 -компонентов WinRT в коде C#</h3>
1389 -
1390 -<h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
1391 -Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1392 -</span></span>Часть V. Многопоточность</h1>
1393 -
1394 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1395 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1396 -26. Потоки исполнения</h2>
1397 -
1398 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1399 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1400 -</span></span>Для чего Windows поддерживает потоки?</h4>
1401 -
1402 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1403 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1404 -</span></span>Ресурсоемкость потоков</h4>
1405 -
1406 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1407 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1408 -</span></span>Так дальше не пойдет!</h4>
1409 -
1410 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1411 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1412 -</span></span>Тенденции развития процессоров</h4>
1413 -
1414 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1415 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1416 -</span></span>CLR- и Windows-потоки</h4>
1417 -
1418 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1419 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1420 -</span></span>Потоки для асинхронных вычислительных операций</h4>
1421 -
1422 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1423 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1424 -</span></span>Причины использования потоков</h4>
1425 -
1426 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1427 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1428 -</span></span>Планирование и приоритеты потоков</h4>
1429 -
1430 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1431 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1432 -</span></span>Фоновые и активные потоки</h4>
1433 -
1434 -<h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1435 -Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1436 -</span></span>Что дальше?</h4>
1437 -
1438 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1439 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1440 -27. Асинхронные вычислительные операции</h2>
1441 -
1442 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1443 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Пул
1444 -потоков в CLR</h3>
1445 -
1446 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1447 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простые
1448 -вычислительные операции</h3>
1449 -
1450 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1451 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контексты
1452 -исполнения</h3>
1453 -
1454 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1455 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Скоординированная
1456 -отмена</h3>
1457 -
1458 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1459 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Задания</h3>
1460 -
1461 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1462 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1463 -</span></span>Завершение задания и получение результата</h4>
1464 -
1465 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1466 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1467 -</span></span>Отмена задания</h4>
1468 -
1469 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1470 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1471 -</span></span>Автоматический запуск задания по завершении предыдущего </h4>
1472 -
1473 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1474 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1475 -</span></span>Дочерние задания</h4>
1476 -
1477 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1478 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1479 -</span></span>Структура задания</h4>
1480 -
1481 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1482 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1483 -</span></span>Фабрики заданий</h4>
1484 -
1485 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1486 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1487 -</span></span>Планировщики заданий</h4>
1488 -
1489 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
1490 -style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1491 -</span></span>Методы <span lang=EN-US>For, ForEach </span>и <span lang=EN-US>Invoke
1492 -</span>класса <span lang=EN-US>Parallel</span></h3>
1493 -
1494 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1495 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Встроенный
1496 -язык параллельных запросов</h3>
1497 -
1498 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1499 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Периодические
1500 -вычислительные операции </h3>
1501 -
1502 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1503 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1504 -</span></span>Разновидности таймеров</h4>
1505 -
1506 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1507 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
1508 -пул управляет потоками</h3>
1509 -
1510 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1511 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1512 -</span></span>Ограничение количества потоков в пуле</h4>
1513 -
1514 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1515 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1516 -</span></span>Управление рабочими потоками</h4>
1517 -
1518 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1519 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1520 -28. Асинхронные операции ввода-вывода</h2>
1521 -
1522 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1523 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Операции
1524 -ввода-вывода в Windows</h3>
1525 -
1526 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1527 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1528 -функции C#</h3>
1529 -
1530 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1531 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Преобразование
1532 -асинхронной функции в конечный автомат</h3>
1533 -
1534 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1535 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Расширяемость
1536 -асинхронных функций</h3>
1537 -
1538 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1539 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1540 -функции и обработчики событий</h3>
1541 -
1542 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1543 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1544 -функции в FCL</h3>
1545 -
1546 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1547 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1548 -функции и исключения</h3>
1549 -
1550 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1551 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Другие
1552 -возможности асинхронных функций</h3>
1553 -
1554 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1555 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Потоковые
1556 -модели приложений</h3>
1557 -
1558 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1559 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронная
1560 -реализация сервера</h3>
1561 -
1562 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1563 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отмена
1564 -операций ввода-вывода</h3>
1565 -
1566 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1567 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1568 -</span></span>Некоторые операции ввода-вывода должны выполняться синхронно</h4>
1569 -
1570 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1571 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1572 -</span></span>Проблемы FileStream</h4>
1573 -
1574 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1575 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приоритеты
1576 -запросов ввода-вывода</h3>
1577 -
1578 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1579 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1580 -29. Примитивные конструкции синхронизации потоков</h2>
1581 -
1582 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1583 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Библиотеки
1584 -классов и безопасность потоков</h3>
1585 -
1586 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1587 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивные
1588 -конструкции пользовательского режима </h3>
1589 -
1590 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1591 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>и режима
1592 -ядра</h3>
1593 -
1594 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1595 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкции
1596 -пользовательского режима</h3>
1597 -
1598 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1599 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1600 -</span></span>Volatile-конструкции</h4>
1601 -
1602 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1603 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1604 -</span></span>Interlocked-конструкции</h4>
1605 -
1606 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1607 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1608 -</span></span>Реализация простой циклической блокировки</h4>
1609 -
1610 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1611 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1612 -</span></span>Универсальный Interlocked-паттерн</h4>
1613 -
1614 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1615 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкции
1616 -режима ядра</h3>
1617 -
1618 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1619 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1620 -</span></span>События</h4>
1621 -
1622 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1623 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1624 -</span></span>Семафоры</h4>
1625 -
1626 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1627 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1628 -</span></span>Мьютексы</h4>
1629 -
1630 -<h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1631 -"Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1632 -30. Гибридные конструкции синхронизации потоков</h2>
1633 -
1634 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1635 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простая
1636 -гибридная блокировка</h3>
1637 -
1638 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1639 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Зацикливание,
1640 -владение потоком и рекурсия</h3>
1641 -
1642 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1643 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Гибридные
1644 -конструкции в FCL</h3>
1645 -
1646 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1647 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1648 -</span></span>Классы ManualResetEventSlim и SemaphoreSlim</h4>
1649 -
1650 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1651 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1652 -</span></span>Класс Monitor и блоки синхронизации</h4>
1653 -
1654 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1655 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1656 -</span></span>Класс ReaderWriterLockSlim</h4>
1657 -
1658 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1659 -style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1660 -</span></span>Класс <span lang=EN-US>OneManyLock</span></h4>
1661 -
1662 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1663 -style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1664 -</span></span>Класс <span lang=EN-US>CountdownEvent</span></h4>
1665 -
1666 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1667 -style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1668 -</span></span>Класс <span lang=EN-US>Barrier</span></h4>
1669 -
1670 -<h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1671 -Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1672 -</span></span>Выводы по гибридным конструкциям</h4>
1673 -
1674 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1675 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Блокировка
1676 -с двойной проверкой</h3>
1677 -
1678 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1679 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Паттерн
1680 -условной переменной</h3>
1681 -
1682 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1683 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронная
1684 -синхронизация</h3>
1685 -
1686 -<h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1687 -Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Классы
1688 -коллекций для параллельного доступа</h3>
1689 -
1690 -</div>
1691 -
1692 -</body>
1693 -
1694 -</html>
1695 -
1696 -{{/html}}
1697 -