names
Active Directory distinguish names (DNs), 727–728
Active Directory user names, 728–729
ADO.NET naming conventions, 629–630
aliases, 60–61, 585
camel casing, 76–77
code group labels, 469
for colors, 864–865
distributing code using strong names, 497–499
of event handlers, 187
generics naming guidelines, 274
of HTML tags for user controls (ASP.NET), 946
IL case sensitivity, 12
of interfaces, 128
of namespaces, 59, 77
.NET guidelines and philosophy, 75–76
Pascal casing, 76, 77
of properties, 93
reserved keywords, 74
rules for identifiers, 73–75
strong, for shared assemblies, 441–443, 444–445
styles for, 77
variable prefixes, 75
Visual Basic .NET not case-sensitive, 77
namespace keyword, 32
namespaces
for ACLs, 1222
for Active Directory, 723
for ADO.NET, 580
aliases, 60–61
assemblies and, 419
for classes, 32, 58–59
for COM objects, 1151
defined, 21
for DSML, 724, 745
for event senders, 188
for file system operations, 1187
for GDI+, 843
for generics, 270
for globalization, 513, 514
for localization, 513, 534
names for, 59, 77
nesting, 21, 59
for .NET Remoting, 1009
Pascal casing for, 76
for performance monitoring, 1309
for power events support, 1314
for registry operations, 1187
for serialization base classes and interfaces, 1187
for serializing objects in XML, 701–702
shared assemblies and, 442
soap namespace, 984–985
for SQL Server 2005, 635
for Stack class, 254
System.Xml.XPath, 678–684
System.Xml.Xsl, 684–689
for threading, 351, 366
types defined in, 21, 59
using statement for, 32, 59–61
for Windows Forms, 751
for Windows Services, 1275
for XML, 659, 660–661
navigation Web server controls (ASP.NET), 960–963
nesting
break statement in nested loops, 55
for loops, 52
namespaces, 21, 59
partials, 105–106
throw statements in try blocks, 332
try blocks, 338–340
types, 125
.NET data access. See ADO.NET; viewing .NET data; Visual Studio .NET and data access
.NET Framework. See also ASP.NET; CLR (Common Language Runtime); IL or MSIL Microsoft Intermediate Language)
application domains, 14–16, 413–416
assemblies, 17–19
attributes, 17
base classes, 19–20, 277–278
benefits of C# and, 25
compilation steps in, 4
C#'s relationship to, 3, 4
C#'s role in enterprise architecture, 24–26
delegates defined in, 188
error handling with exceptions, 16–17
garbage collector, 13–14
installation base lacking for, 24
namespaces, 21
open source implementation, 5
operating systems supported, 553
security advantages of, 14
server platforms supported, 553
similar concepts in COM, 1152
usage conventions, 75–81
using a COM component from a .NET client, 1159–1171
using a .NET component from a COM client, 1171–1183
Windows Controls and, 24
Windows Forms and, 24
Windows Services and, 24
XML standards supported, 660
.NET Framework Configuration tool, 1048–1050
.NET IDE. See Visual Studio 2005
.NET Remoting
activator for client, 1012
application types and, 1010
asynchronous, 1053–1054
call contexts, 1062–1064
channels, 1012, 1020–1025, 1041–1042, 1046
ChannelServices class, 1012, 1025–1026
client-side process, 1012–1014
CLR Object Remoting, 1011
configuration files, 1039–1050, 1059, 1061
contexts, 1014–1016
defined, 1010
delegates with, 1053–1054
directional attributes, 1035–1036
events and, 1056–1062
formatter provider, 1012, 1047–1048
formatters, 1012, 1025
hosting servers in ASP.NET, 1050–1051
interfaces, 1052
key architecture elements, 1012, 1013
lifetime management, 1036–1039, 1046–1047
major classes for example, 1016–1017
marshal-by-reference classes, 1031–1032
marshal-by-value classes, 1031
marshaling, 1032–1034
message sinks, 1012, 1015, 1030–1031
messages, 1012, 1030
namespaces for, 1009
not-remotable classes, 1032
object activation, 1027–1030
OneWay attribute, 1054
overview, 1011–1014
passing objects in remote methods, 1031–1036
protocols, 1010–1011
proxies, 1012
remote objects, 1012, 1017–1018, 1056–1058
RemotingConfiguration class, 1012, 1026
RemotingServices class, 1026
security, 1035, 1054–1055, 1126
serialized objects and security, 1035
server for client-activated objects, 1026–1027
server for well-known objects, 1026
server-side process, 1014
simple client example, 1019–1020
simple server example, 1018–1019
Soapsuds utility, 1052–1053
unbound classes, 1031
uses for, 1011
WCF and, 1145–1146
XML Web services with, 1010
.NET security. See security
net.exe utility, 1293–1294
neutral cultures, 515–516
new keyword
declaring class and struct instances, 84
hiding methods, 116
as modifier for function members, 125
for object activation (.NET Remoting), 1027
reference types and, 196
structs versus classes and, 103
NewRowFromBuilder() method (CustomerTable class), 836–837
Ngen.exe native image generator, 438–439
No Touch Deployment (NTD), 566–567
Northwind database example (ADO.NET). See ADO.NET
Northwind database example (Enterprise Services)
C# component library for, 1081
client application, 1089–1090
entity classes, 1081–1084
Order class, 1081–1083
OrderControl component, 1080–1081, 1084–1085
OrderData component, 1081, 1085–1088
OrderLine class, 1083–1084
OrderLineData component, 1081, 1088–1089
overview, 1080–1081
NT Services. See Windows Services
NTD (No Touch Deployment), 566–567
null values
comparing reference types for equality, 147
null coalescing operator, 139–140
for reference types, 40
nullable types
converting, 144
implicit type conversions and, 142
Nullable<T> generic struct and, 301–302
operators and, 139
special syntax for, 302
Nullable<T> generic struct, 301–302
number formatting for globalization, 517–519
NumberFormatInfo class, 518