races
avoiding races, 364
thread synchronization, 363
Read() method
FileStream class, 502
ReaderWriterLock class
AcquireReaderLock() method, 360
AcquireWriterLock() method, 360
System.Threading, 360
thread synchronization, 360
reference counting
auto-reference counting, 209
COM, 208
compared to garbage collector, 206
cyclic references, problems with, 209
performance problems, 209
smart pointer reference counting, 209
Visual Basic 206
reference types, 121
boxed types, compared to, 123
compared to value types, 265
Enum class, 124
IL reference types, 75
constructors, 76
initializing, 77
Idloc commands, 77
method table, 122
sync block Index, 122
ValueType class, 124
reflection
CodeDom compared to, 322
creating a saved executable assembly, 316–18
creating and running a DLL assembly, 318–22
dynamic assemblies, using in, 321
dynamic code generation, advantage of use in, 311
dynamic code generation, use in, 312
preference in creating assemblies, 313
transient assembly, 313
Refresh() method
Control class, 422
Region property
Control class, 438
implementing non-Rectangular windows, 438
ListBox class, 444
registering window class
Windows message, processing, 419
registers, using
JIT optimizations, 244
native code operands, 256
regular expressions
dynamic code generation, advantage of use In, 311
release builds
debug builds, profiling for compared to, 275
DebuggableAttribute class XE, 275
ildasm.exe, checks using, 275
ReleaseMutex() method
Mutex class, 359
ReRegisterForFinalize() method
GC class, 219
Reset() method
AutoResetEvent class, 361
ManualResetEvent class, 361
ResetAbort() method
Thread class, 373
resgen.exe, 187
resource files, 168
.resource files, 187
.resx files, 187
.txt files, 186
al.exe, 168
assemblies, generating from, 185
linking to assembly as separate files, 168
low built-in .NET support, 168
resgen.exe, 187
al.exe, use with, 188
resxgen.exe, 188
al.exe, use with, 188
ResourceManager class
GetObject() method, 189
GetString() method, 195
System.Resources, 168
resources, assemblies, 167
API functions, support before .NET through, 169
localization, 188
managed resources, 169
unmanaged resources, compared to, 170
satellite assemblies, 188
unmanaged resources, 169
managed resources, compared to, 170
responsiveness
compared to performance, 237
Result property
Message structure, 428
results of expressions, reusing
JIT optimizations, 245
resxgen.exe, 193
resgen.exe, use with, 188
resxgen.cs, C# resource file, 188
ret command, 131
RevertAssert() method
CodeAccessPermission class, 472
RevertDeny() method
CodeAccessPermission class, 472
RevertPermitOnly() method
CodeAccessPermission class, 472
RijnDael algorithm
compared to using DES, 501
symmetric encryption, 501
role based security, 485
root certification authorities, 615
verifying certificates, 515
roots
identifying garbage, 213
RSA class
System.Security.Cryptography, 499
RSACryptoServiceProvider class
System.Security.Cryptography, 499
Run() method
Application class, 421
implementing message loop, 421
runtime keyword
.method directive, 104