/r or /reference switch for compiler, 64
race conditions, avoiding, 363–364
Racer class, 278–279
RadioButton control (Windows Forms), 764
RainbowLabel custom control (ASP.NET)
Color enumeration, 953
creating Web site for, 953
Default.aspx.cs code for, 955
enabling color cycling, 954
modifying Default.aspx for, 955
Render() method override, 954–955
using, 955–956
using statements, 953
RAM. See also memory management
freeing memory in COM, 1153
requirements for application deployment, 553
RCW (runtime callable wrapper) in COM, 1163–1166
RDN (relative distinguished name) in Active Directory, 727
Read() method (XmlReader class), 665
ReadElementString() method (XmlReader class), 665–667
reading drive information, 1220–1222
reading files
binary files, 1208–1213
overview, 1201
text files, 1213–1219
Windows Forms for, 1202–1204
ReadLine() method (StreamReader class), 1215
readonly fields, 99–101
read-only properties, 94
ReadQuotes() method (QuoteServer class library), 1277
ReadStartElement() method (XmlReader class), 665
ReadToEnd() method (StreamReader class), 1215
ReadValueAs methods (XmlReader class), 667
ReadWriteText application, 1217–1219
ReadXml() method (DataSet class), 620, 696–697
ReadXmlSchema() method (DataSet class), 697
Receive() method (MessageQueue class), 1109, 1110
ReceivedById() method, 1119
Rectangle struct, 853–854
RectangleF struct, 853–854
Red-Green-Blue (RGB) values for colors, 863–864, 865
ref parameters
anonymous methods and, 177
passing to methods, 90–91
refactoring, 408–410
reference objects, instantiating, 35
/reference or /r switch for compiler, 64
reference types. See also specific types
arrays as, 58
classes as, 40
comparing for equality, 146–147
compiler switch for, 64
complex data types as, 40
converting between value types and, 145–146
defined, 9
memory management, 196–198
null value for, 40
objects not created by, 39–40
passing parameters to methods as, 90–91
performance overhead, 197
predefined, 41, 44–46
stored in the heap, 9, 39, 196–198
System.Type class for holding, 314
value types versus, 9, 39–40
ReferenceEquals() method, 146, 147
references to shared assemblies, 449
reflection. See also attributes
assemblies and, 19
Assembly class, 319–320
custom attributes, 306–313
defined, 19, 305
example applications described, 305–306
System.Type class, 314–319
uses for, 305
RefreshQuotes() method (QuoteServer class), 1279
regasm utility, 1179
regedit utility, 1227–1228
regedit32 utility, 1227
#region preprocessor directive, 72–73
Region struct, 854–855
RegionInfo class, 515
<%@ Register %> directive (ASP.NET)
for custom controls, 952–953
for user controls, 946
RegisterActivatedClientType() method (RemotingConfiguration class), 1027, 1029
RegisterChannel() method (ChannelServices class), 1025
RegisterWellKnownClientType() method (RemotingConfiguration class), 1028
RegisterWellKnownServiceType() method (RemotingConfiguration class), 1026, 1028
Registry class, 1229, 1230
Registry Editor (ClickOnce), 570–571
registry operations
COM registration, 1155, 1178–1179
hierarchical structure of registry, 1227–1229
keys, 1228–1229
namespace for, 1187
prevalence of registry use, 1226–1227
regedit utility, 1227–1228
regedit32 utility, 1227
Registry class, 1229, 1230
registry hive, 1228
registry overview, 1226–1229
RegistryKey class, 1229–1232
security and, 1187
SelfPlacingWindow application, 1232–1238
RegistryKey class
CreateSubKey() method, 1230
described, 1229
GetValue() method, 1231
methods, 1231–1232
OpenSubKey() method, 1230
properties, 1231
reading registry keys, 1230
Registry class versus, 1230
SetValue() method, 1231
writing to registry keys, 1230
regular expressions
capturing sections from URIs, 242–243
defined, 235
disabling Group object in returns, 243
displaying results, 240–241
efficiency of, 236
escape sequences, 236, 238–240
groups, 240–243
.NET classes supporting, 223, 236
prevalence of, 235
RegularExpressionsPlayaround example, 237–241
searching for escape meta-characters, 240
uses for, 236
WriteMatches() method for, 240
RegularExpressionsPlayaround example, 237–241
relative distinguished name (RDN) in Active Directory, 727
releasing COM components, 1165
reliability, Web services specifications and, 1129–1131
remote objects
defined, 1012
distributed identity, 1017
event handling and, 1056–1058
overview, 1017–1018
RemoteObject class, 1056–1058
RemotingConfiguration class
Configure() method, 1044, 1045, 1046
described, 1012, 1026
predefined channels in, 1041
RegisterActivatedClientType() method, 1027, 1029
RegisterWellKnownClientType() method, 1028
RegisterWellKnownServiceType() method, 1026, 1028
RemotingServices class
Connect() method, 1028, 1030
described, 1026
IsTransparentProxy() method, 1029
registering a well-known object to, 1026
Remove() method (Hashtable class), 261
RemoveAt() method (ArrayList class), 251
RemoveRange() method (ArrayList class), 252–253
removing. See deleting or removing
Render() method, overriding, 954–955
Replace() method
String class, 226
StringBuilder class, 228
requesting permissions
adding permissions as assembly attributes, 482
calculating permissions required for an assembly, 481, 483–484
options for applications, 483
permission sets, 484
reasons for, 480–481
SecurityAction enumeration values, 482–483
ways of requesting, 480
Reset() method, 247
Resgen.exe (Resource File Generator) utility, 527, 543–544
resource readers
custom, 545–549
.NET Framework, 545
ResourceReader class, 534
ResXResourceReader class, 534
ResourceDemoForm class, 530–533
ResourceManager class, 530–531, 533, 537
ResourceReader class, 534
resources. See also localization
accessing embedded resources, 530–531
adding to assemblies, 528–530
automatic fallback for, 542
creating resource files, 526–528
custom messages for, 541–542
custom resource reader, 545–549
outsourcing translations, 543–544
Resource File Generator (Resgen.exe) utility, 527
ResourceDemoForm class for, 531–533
ResourceManager class for, 530–531, 533
ResourceReader class for, 534
ResourceSet class for, 533
ResourceWriter class for, 527–528, 534
.resX files for, 526, 527–528
ResXResourceReader class for, 534
ResXResourceSet class for, 534
ResXResourceWriter class for, 527–528, 534
strongly typed, 531–533
System.Resources namespace classes for, 533–534
text files for, 526
using resource files, 528–533
Windows Forms, disposing of, 755
ResourceSet class, 533
ResourceWriter class, 527–528, 534
response message queues, 1100, 1120–1121
Resume() method
QuoteServer class library, 1278–1279
Thread class, 354
resuming threads, 353, 354
.resX files for resources, 526, 527–528
ResXResourceReader class, 534
ResXResourceSet class, 534
ResXResourceWriter class, 527–528, 534
return statement, 55
RGB (Red-Green-Blue) values for colors, 863–864, 865
RichTextBox control (Windows Forms), 773–774
role-based security
declarative, 509–510
defined, 14, 506
Enterprise Services and, 1068
principal for, 507
roles, 509
uses for, 506–507
WindowsPrincipal example, 508–509
Run() method (Application class), overloading, 753
runat="server" attribute (ASP.NET), 905, 910
runtime callable wrapper (RCW) in COM, 1163–1166