race condition,
threads, 560–563
RadioButton control, 1000
RaiSeevent statement, 1648–1649
RAM requirements, .NET applications, 443
rc.exe (Resource Compiler), 539
RCWs (runtime callable wrappers), 761–763
creating, 761–762
using, 762–763
RDN (relative distinguished name), 1597
Read( ) method
reading to text files using StreamReader, 818
reading/writing to binary files using FileStream, 812
variations for XmlReader, 908–910
ReadAll method, files, 805–806
ReadAllBytes method, files, 806
ReadAllLines method, files, 806
ReadByte( ) method, FileStream, 812
ReadCommitted level, transactions, 857
ReadElementContentAs( ) method, XmlReader, 909–910
ReadElementString( ) method, XmlReader, 908–909
ReadFileIntoStringCollection( ) method, ReadWriteText application, 820
reading ACLs
from directories, 826–827
from files, 825–826
reading drive information, 822–824
reading/writing
binary files using FileStream, 810–815
DiffGrams, 941–943
isolated storage and, 840–845
overview of, 804–807
in Registry keys, 829–840
streamed XML, 906–914
text in files, 815–822
ReadLine( ) method, StreamReader, 818
read-only collections, 282–283
readonly fields, 99–100
readonly keyword, 99
read-only properties, 93–94
ReadSettings( ) method, 837–839, 843–844
ReadUncommited level, transactions, 857
ReadWriteText application, 820–822
ReadXml( ) method, 889, 938–941
ReadXmlSchema( ) method, 939
real proxy
.NET Remoting architecture, 1402–1405
pluggability of, 1419
returning to client, 1419
Receive( ) method, message queues, 1496–1498
records, updating, 863–864
Recordset object, DataSet class vs., 877
RecourceWriter class, 651–652
recoverable messages, 1487, 1502–1503
Rectangle class, 1147
Rectangle struct
controls, 995
drawing scrollable windows, 1089–1094
overview of, 1085–1086
RectangleF struct, 1085–1086
rectangles
clipping region and, 1081–1082
issues when manipulating images, 1105
ref keyword
defining reference types in C++/CLI, 1623–1624
passing parameters to methods by reference, 90
ref parameter, 1425
refactoring tools, 431–433
reference types.
See also arrays
array declaration, 135–137
boxing/unboxing, 168, 244–245
built-in, 45
in C#, Visual Basic and C++/CLI, 1623–1624
equality comparisons, 169–170
memory management, 322–324
object type as, 45–46
passing parameters by reference, 90
pointers and, 337
string type as, 46–47
value types compared with, 9, 39–41
ReferenceEquals( ) method
comparing equality of reference types, 169
comparing equality of value types, 170
overview of, 107
references
to assemblies, 508
instantiating with new keyword, 35
to shared assemblies, 508
reflection, 349–369
Assembly class, 363–365
attribute parameter specification, 353–354
AttributeUsage attribute, 351–353
class, 358
custom attributes, 350–351
declarative security and, 613
defined, 19
methods, 360
overview of, 349–350
properties, 359–360
summary, 369
TypeView example, 360–363
WhatsNewAttributes example, 354–358, 365–369
Reflector, 855
RefreshCache( ) method, Active Directory, 1603
REG_BINARY format, 831, 833
REG_DWORD format, 831, 833
REG_SZ format, 831, 833
regasm, configuring COM components, 778
regedit
examining SelfPlacingWindow application, 835
reading/writing to registry, 829
regedt32, 829
RegEx( ) method, 234
RegexOptions enumerations, 236
#region, preprocessor directive, 73–74
Region record
calling stored procedure that returns output parameters, 864–866
deleting from database, 864
updating in database, 863–864
RegionDelete stored procedure, 864
RegionInfo class, 639
regions
classes, 638–639, 1087
Control Panel options, 640
localization, 639–641
RegisterActivatedServiceType( ), 1417, 1427–1428
RegisterAttached( ) method, 1562
RegisterWellKnownServiceType( ), 1416
registry
COM components, 751, 778
.NET classes for, 831–834
reading/writing keys in, 829–831
SelfPlacingWindow application, 834–840
services configuration and, 726
virtualization, 1659–1660
Win32 namespace for classes in, 789, 829
Registry class, 831–834
Registry Editor, 462–463
registry hive, 830
RegistryKey class, 831–834
regsvcs.exe, 1462
regular expressions, 234–242.
See also strings
displaying results, 238–239
matches, groups, and captures, 239–241
overview of, 234
RegularExpressionsPlayaround example, 235–238
string processing features, 234–235
summary, 242
RegularExpressions class, System.Text, 221, 234
relational data
converting ADO.NET data to XML, 936–938
data tables and data rows, 876–878
LINQ queries to access database, 1684–1685
traditional queries across databases, 1680
relational operators, 163
relative distinguished name (RDN), 1597
Release configuration, Visual Studio 2005, 425
reliable sessions, WCF binding, 1534–1535
remote methods, 1421–1425
remote objects
activation, 1417–1419
defined, 1402–1403
overview of, 1407–1408
RemoteObjet.cs, 1445–1446
server for client-activated, 1416–1417
using CLR Object Remoting for, 1401
remote settings, configurationcategories, 509
RemotingConfiguration, 1402, 1416
Remove( ) method, elements from lists, 277
RemoveCurrent( ) method, 1497
Render( ) method, ASP.NET custom controls, 1266–1267
renewals, lease, 1426
RepeatableRead, transactions, 857
Replace( ) method, string creation, 224
replace value keyword, changing XML content, 979
replication, Active Directory, 1584, 1588–1589
replication latency, Active Directory, 1588
report messages, 1487
report queues, message queues, 1488
ReserveRoom( ) method, 1513–1515
Resgen.exe (Resource File Generator), 650–651
Resolve( ) method, Dns class, 1360
Resource Compiler (rc.exe), 539
Resource File Generator (Resgen.exe), 650–651
resource files
creating, 650–652
event logging and, 537–540
outsourcing translations, 666
using, 652–657
resource managers
DatabaseResourceManager, 672
System.Resources, 654, 657
resource messages, custom, 697–698
resource readers
client application for DatabaseResourceReader, 673
customizing, 669–670
DatabaseResourceReader, 670–671
DatabaseResourceSet, 671–672
resources
accessing from code, 1165–1166
automatic fallback for, 666
in C#, Visual Basic and C++/CLI, 1642–1647
client application for DatabaseResourceReader, 673
creating DatabaseResourceManager, 672
creating DatabaseResourceReader, 670–671
creating DatabaseResourceSet, 671–672
creating resources files, 650–652
custom resource messages, 664–665, 697–698
custom resource readers, 669–670
dynamic, 1166–1167
freeing unmanaged, 325
overview of, 650
searching hierarchically, 1164
strongly typed in .NET 2.0, 655–656
system, 657, 1165
transactions, 698–704
using resources files, 652–657
with WPF, 1163–1167
ResourceSet class, System.Resources, 657
ResourceWriter, System.Resources, 657
response messages, 1487
response queues, message queues, 1488, 1508
Restricted Sites, security zones, 630
return statement, jump statements, 56
return types
in C#, Visual Basic and C++/CLI, 1628
type inference and, 1698–1699
RGB (red-green-blue) values
in GDI+, 1096
graphics display modes and safety palette and, 1097
named colors, 1096–1097
Rich Text Format (RTF). See RTF (Rich Text Format)
RichTextBox class, 815
RichTextBox control, 1009–1010, 1148
role-based security, 632–636
declarative, 635–636
Enterprise Services, 1457
overview of, 14, 632
principals, 632–633
roles, 634–635
summary, 636
Windows principals, 633–634
roles
adding security, 1276–1278
in role-based security, 634–635
Rollback( ) method, transactional resources, 701
round-robin, thread priority, 557
rows. See data rows
Rows.Add( ) method, 890
RowState property, 873
RTF (Rich Text Format)
RichTextBox class, 815
RichTextBox control, 1009–1010, 1148
runat=”server” attribute, ASP.NET, 1215, 1221
runtime
schema generation, 875
SQL Server hosting .NET, 956–957
runtime callable wrappers. See RCWs (runtime callable wrappers)
runtime settings, configuration categories, 509