\a escape, in regular expressions, 468
\A meta-character, in regular expressions, 475
Aborted state, Thread object, 358
AbortRequested state, Thread object, 358
abstract classes, 51–52, 56–57
abstract methods, 51
Accept method, sockets, 283, 288–289
access control, 273, 348–351. See also CAS (code access security)
access violation (AV), 12
accessibility of assembly, 25
accessibility of types, 25–26, 45
AccessViolationException exception, 210
ACEs (Access Control Entries), 349
ACID properties of transactions, 535
ACLs (Access Control Lists), 348–351, 374
action functions, 252–253
Action<T> delegate, 238, 252–253
activation frame, 126
activation, reflection, 496
Active Server Pages (ASP), 4
add instruction, IL, 84–85, 91, 550
AddMemoryPressure method, GC class, 203–204
ADO.NET, 5, 540–541
allocation of memory, 115–120
ALS (AppDomain-Local Storage), 397
alternations, in regular expressions, 474–475
always-sorted dictionaries, 241
ambient transactions, 536
American Standard Code for Information Interchange (ASCII) encoding, 320
and instruction, IL, 91, 550
anonymous delegates, 63–64
anonymous methods, 527–529
AOP (Aspect Oriented Programming), 440
apartments, COM, 390–391, 402
APIs (application program interfaces)
builder APIs, 529–532
info APIs
assembly information, 498–500
definition of, 496, 498
example using, 509–511
generics, 507–509
handles for, 511–514
method information, 503–505
module information, 498–500
properties, 507
tokens for, 496, 511–514
type information, 500–502
type instances, constructing, 505–506
reflection APIs, 496–497
Windows APIs, history of, 3–4
XML APIs, 5
APM (asynchronous programming model), 385–387, 526–527
AppDomain-Local Storage (ALS), 397
AppDomains (application domains)
creating, 392
definition of, 392
events exposed by, 394
isolation between, 354–355
isolation of, 394–397
loading code into, 393
marshaling, 393
unloading, 393
Append method, StringBuilder class, 202
AppendFormat method, StringBuilder class, 202
application program interfaces. See APIs
APTCA (System.Security.AllowPartiallyTrustedCallers Attribute), 332–333
arglist instruction, IL, 550
ArgumentException exception, 210–211
ArgumentNullException exception, 211
ArgumentOutOfRangeException exception, 211
arguments of methods, 30, 89–90
arithmetic operations, IL, 91
ArithmeticException exception, 210
arrays
binary search for, 224
cloning, 221–222
collections interoperability, 221
constructing, 216
converting elements of, 224
copying elements of, 222–223
definition of, 215–216
dynamic access of, 223–224
fixed arrays, 225
IL, 99
jagged arrays, 218–220
length of, 216
multidimensional arrays, 217–220
rank (number of dimensions), 216, 219
rectangular arrays, 217–218
reversing order of, 225
single-dimensional (vectors), 216–217, 225
sorting, 225
as keyword, C#, 98
ASCII (American Standard Code for Information Interchange) encoding, 320
ASP (Active Server Pages), 4
Aspect Oriented Programming (AOP), 440
ASP.NET
definition of, 5
history of, 4
memory leaks and, 408
AsReadOnly method, lists, 237
assembly
bootstrapper in, 136
definition of, 5, 133–134
delay signing, 143
disassembling into IL, 83
format of, 133
friend assemblies, 145–146
identity of, 137–138
info APIs for, 498–500
loading for execution
binding, 146, 147–150
debugging load process, 149
domain neutrality, 152–154
dynamic assembly loading, 156–160
load contexts for, 150–151
loading process, 146
loading the CLR, 154–155
mapping, 146
probing with Fusion, 146, 148–149
static assembly loading, 155–156
type forwarding, 160–162
metadata in
assembly identity, 137–138
definition of, 135, 136–137
manifest and, 138–141
signing assembly, 141–143
strong name, 141
modules in
definition of, 134–135
info APIs for, 498–500
platform information, 499–500
private/public key pair for, 142
reflection-emit assemblies, 160, 529–532
reflection-only assembly, 499
resources in, 143–144
shared assemblies, 144–145
signing, 141–143
strong name of, 133, 135, 141–143, 339
unloading, 151
assembly accessibility, 25
.assembly directive, IL, 83
assembly manifest, 135, 138–141
AssemblyDef section, assembly metadata, 136, 141
AssemblyRef section, assembly metadata, 136, 155
asserts
in CAS, 344–346
configuring, 462
for tracing, 446–449
associative arrays. See dictionaries
asterisk (*), in regular expressions, 470
asynchronous delegates, 526–527
asynchronous exception, 364
asynchronous I/O
I/O Completion Ports for, 273–374
with streams, 261–264
asynchronous programming model (APM), 385–387, 526–527
atomicity of transactions, 535
attack vector, 329
attributes, custom, 64–65, 496, 514–519
authentication
HTTP, 295
simple, 347–348
SMTP, 297
AV (access violation), 12