call instructions, list of, 426
Call Stack window, 471–472
callbacks
overview, 291
unmanaged callbacks, 621–622
calling methods, 425
CallingConvention, 613–614
casting
arrays, 213
generic types, 256–257
IEnumerator interface, 278
inheritance, 125–130
reflection, 380
catch statements, 329–330
CCW. See COM Callable Wrappers (CCWs)
<![CDATA ]> elements, 168
CDATA syntax, 168
CDB. See Windows Console Debugger (CDB)
CER. See Constrained Execution Region (CER)
change tracking, 159
characters
escape characters, 19–20
overview, 18
verbatim characters, 20–21
CharSet, 617
Class Designer, 145
class diagrams
association, 151
inheritance, 149
overview, 145–149
toolbox, 148–149
walkthrough, 151–154
class directives, 409–412
class hierarchies
association, 151
Class Designer, 145
class diagrams, 145–149, 151–154
Class View window, 144
Error List window, 156
inheritance, 149–151
Object Browser window, 144–145
overview, 143
Class View window, 144
classes
abstract, 106
accessibility, 46
Activator, 378
Binder, 375
Console, 576
declaration syntax, 46
delegates, 297–298
Employee, 96
EventArgs, 321
Exception. See System.Exception
GC, 598
HandleCollector, 596–597
hierarchies. See class hierarchies
inheritance. See inheritance
member access syntax, 48
members, list of, 48
members overview, 48
modifiers, 46
nested. See nested classes
overview, 44, 45, 46–47
partial, 74–76
private nested, 317
refinement, 81
sealed, 107
SourceSwitch, 479, 480
static, 50
StringBuilder, 620–621
Summation, 643
System.Exception. See System.Exception
TraceListener, 482
TraceSource. See TraceSource
types. See types
WeakReference, 591
ClickOnce deployment
Manifest Generation and Editing (MageUI) tool, 183
manifests, 183
modes of deployment, 182
overview, 135, 182
Publish Wizard, 185–186
publishing applications, 185–186
Close method, 584
closed constructed types
overview, 243
static members, 260
this references, 246
CLR Debugger (DbgClr), 503
Code Editor
change tracking, 159
color formatting, 158
font formatting, 158
IntelliSense, 156–158
overview, 156
profiles, 160
source code formatting, 159
Surround With feature, 158
Code elements, 168
code expansion, 162
code samples. See sample C# programs
Code Snippet Schema Reference, 166
code snippets
<![CDATA ]> elements, 168
Code elements, 168
code expansion, 162
Code Snippet Schema Reference, 166
Code Snippets Manager, 165–166
CodeSnippets elements, 166
copying, 161
creating, 166–171
Declarations elements, 167
default snippets, 163–164
Header elements, 166
Imports elements, 167
inserting, 162–163
IntelliSense, 162
for keyword, 163
Literal elements, 167
Object elements, 167
overview, 160–161
pasting, 161
References elements, 167
Reflection namespace, 170
Snippet elements, 167
StringBuilder type, 168
Code Snippets Manager, 165–166
code stepping
Next Statement command, 462
overview, 461
step commands, 462
CodeSnippets elements, 166
collections
ArrayList, 215–219
BitArray, 219–220
BitVector32, 232
boxing, 233
generics, 237, 266–267
Hashtable, 222–225
HybridDictionary, 232
metadata, 371
NameValueCollection, 232
OrderedDictionary, 232
overview, 186, 187, 214
Queue, 226–230
SortedList, 228–230
specialized, 232–233
Stack, 231–232
StringCollection, 232
StringDictionary, 232
types, 215
colon punctuators, 9
colors, formatting, 158
COM Callable Wrappers (CCWs)
accessing managed code through, 345
unsafe code, 602
COM interoperability exceptions
COM Callable Wrappers (CCWs), 345
COM exceptions, 341–343
generating COM exceptions, 343–345
IErrorInfo to COMException mapping, 342
overview, 341
Combine method, 302
COMException class, 342
comma punctuators, 9
comments
block (/* and */), 10
delimited (/* and */), 10
delimited documentation tags, 12–13
documentation (///), 10–12
feedback or questions, xxiv
multiline (/* and */), 10
overview, 10
single-line (//), 10
single-line documentation (///), 10–12
common exception model, 327
Common Language Runtime (CLR)
exception handling, 325
MSIL programming, 401
Common Language Specification (CLS), 631
Community menu, 137
companion Web site, xxiv
comparative branching instructions, 424
compare instructions, 423
complex iterations, 290
composition, 83–87
compound operators
list of, 22–23
overview, 22
concurrent garbage collection
overview, 559
Workstation GC, 560
condition command, 456
conditional preprocessor directives, 14
configuration files, 488–489
Configuration Manager, 442–443
consistency, 92
Console class, 576
constants, 52
Constrained Execution Region (CER)
overview, 592–593
safe handles, 593–594
Web site, 593
constraints
constructors, 255
default constructor, 255
derivation, 248–252
integer, 251
interface, 252–253
list of, 247
overview, 246–247
recursive, 250
reference type, 254
restrictions, 252
value type, 254
value types, 251
constructed types, 243
constructors
accessibility, 63
constraints, 255
default, 255
delegates, 298
EventTypeFilter, 484
finalizers, 575–576
generics, 238
instance, 393
overloading, 64
overview, 63, 108
private, 63
sheet generic type, 241
singletons, 67
SourceFilter, 484
SourceSwitch, 480
static, 66
syntax, 63, 109
System.Exception, 336
this references, 110
containment, 83
contravariance, 299–300
conversion operations, 430
conversion operator overloading
operator string operator, 641–642
overview, 639–641
sample code, 640–641
summation notation, 642–645
CorDbg. See Managed Debugger (MDbg)
core language features
blocks, 16
characters, 18
comments, 10
escape characters, 19–20
generic types, 17
keywords, 25–29
line terminators, 9
nullable types, 18
numeric suffixes, 18–19
operators, 21–24
overview, 7
preprocessor directives, 13–16
primitives, 29
punctuators, 8–9
symbols and tokens overview, 7
tabs, 8
Unicode characters, 18
verbatim characters, 20–21
white space, 8
counters, list of, 538–539
covariance
arrays, 213
delegates, 299–300
CreateDelegate method, 381
cross-language inheritance, 89