IANA (Internet Assigned Number Authority), 1263
IBankAccount interface, 127–130
IChannel interface, 1022
ICollection interface, 247
_ICompletedEvents client interface (COM), 1166–1167
IDE for .NET. See Visual Studio 2005
identifiers, 74–75
Identity Permissions, 472–473
IDispatch interface (COM), 1163, 1164
IDisposable interface
deriving classes from, 126–127
destructors as backup for, 202–203
Dispose() method, 201–202
implementing, 202–204
overview, 201–202
IEnumerable interface, 246–247, 1109–1110
#if preprocessor directive, 71–72
if statements
overview, 47–49
ternary operator, 136–137
IFormattable interface, 231–232
IIS (Internet Information Server), ASP.NET and, 904
IL or MSIL (Microsoft Intermediate Language)
application domains and, 14–16, 413
attributes, 17
case sensitivity, 12
CLS and language interoperability, 12–13
compilation steps in .NET and, 4
compiling to native code, 439
CTS and data types, 10–12
defined, 3
error handling with exceptions, 16–17
garbage collection and, 13–14
important features, 8
interfaces supported by, 8–9
language interoperability with, 5–7
as managed code, 4
object orientation supported by, 8–9
performance improvement with, 5
platform independence with, 4–5
security and strong typing, 14
strong data typing, 9–16
value types versus reference types, 9
ildasm utility
checking .mresource attribute, 528
symbols used in, 420–421
viewing assemblies with, 420
IList interface, 811
IListSource interface, 811
Image class, 871
ImageList component (Windows Forms), 769
images. See graphics; resources
IMath interface (COM), 1162, 1174, 1177–1178
IMessageSink interface, 1031
implementation inheritance
abstract classes and functions, 117
calling base versions of functions, 116–117
hiding methods, 115–116
not supported by structs, 112
overview, 111–112
sealed classes and methods, 117–118
syntax, 113
virtual methods, 114–115
implicit permission, 484–485
implicit type conversions, 141–142
indexers
for array lists, 251
defined, 86
indexes to XML types, 656–657
indirection operator for pointers, 207
inheritance. See also derived classes; specific kinds
abstract classes and functions, 117
calling base versions of functions, 116–117
constructors of derived classes, 118–124
derived interfaces, 131–132
hiding methods, 115–116
implementation inheritance, 111–112, 113–124
interface inheritance, 112, 126–132
modifiers, 124–125
multiple, 112
from Object class, 106
sealed classes and methods, 117–118
structs and, 103, 112–113
virtual methods, 114–115
Init() method, 644–645
initialization
of arrays with specific dimensions, 58
CapsEditor example, 883
of constructors, 99
of FolderTree custom control (Windows Forms), 792–794
of Form class, 781
of structs, 103
of user controls (Windows Forms), 798
of variables, 34–35
InitializeComponent() method
Localizable property for, 536
setting minimum document size with, 858–859
shape-drawing application, 844–845
inserting records with ADO.NET, 591, 596–597
installallutil.exe utility, 1291–1292
InstalledFontCollection class, 877
installing. See also Windows Installer projects
assemblies, 412
message queues, 1122
shared assemblies, 446, 451
Windows Services, 1287–1292
instantiating
ArrayList class, 250
classes and structs, 84
COM components, 1165
delegates, 173–174, 176–177
derived classes, 120
DirectoryInfo class, 1189
enumerations, 57
FileInfo class, 1189
Form class, 781
reference objects, 35
SortedList class, 258
int type, 41, 42
integer types. See also specific types
casting pointers to, 208–209
converting between string type and, 144–145
converting to floats, 159–162
enumerations, 55–57
overview, 41–42
interfaces
for channels (.NET Remoting), 1022
COM, 1153–1155
for database connections, 825
defining and implementing, 127–130
delegates and, 181
derived, 131–132
for formatters (.NET Remoting), 1025
for formatting expressions, 223
for generic base classes, 278
for generics, 275–276
IL support for, 8–9
inheritance, 112–113
for List<T> generic class, 278
for message sinks, 1031
.NET Remoting, 1052
.NET versus COM, 8, 126
overview, 126–127
partial, 104
references, 130
Intermediate Language. See IL or MSIL (Microsoft Intermediate Language)
internal modifier, 124, 125
internationalization. See globalization
Internet access
displaying output as HTML page, 1245–1258
displaying the code of a requested page, 1256–1257
DNS servers and, 1259
DnsLookup application, 1261–1262
downloading files, 1240
giving applications IE-type features, 1248–1253
IP addresses and, 1259
launching Internet Explorer instances, 1248
lower-level classes, 1263–1268
lower-level protocols, 1262–1263
.NET classes for IP addresses, 1260–1261
printing using WebBrowser control, 1255–1256
showing documents using WebBrowser control, 1254–1255
simple Web browsing from applications, 1246–1247
Socket class, 1263, 1268
starting an Internet Explorer process programmatically, 1245–1246
System.Net.Sockets namespace classes, 1263
TCP classes, 1263
TCP versus UDP, 1266
TcpReceive application, 1264–1266, 1268
TcpSend application, 1263–1264
UdpClient class, 1266–1267
uploading files, 1242
Uri class, 1258–1259
UriBuilder class, 1258, 1259
utility classes, 1258–1262
WebClient class, 1240–1242
WebRequest and WebResponse hierarchy, 1257–1258
WebRequest class, 1242–1245
WebResponse class, 1242–1245
Internet Assigned Number Authority (IANA), 1263
Internet Explorer
giving applications IE-type features, 1248–1253
launching instances, 1248
running Windows Forms controls in, 1183
starting a process programmatically, 1245–1246
threading by, 349–350
Internet Information Server (IIS), ASP.NET and, 904
Internet resources
COM interoperability sample code, 1151
event-booking application example, 920
Internet Assigned Number Authority (IANA), 1263
Microsoft Application Center Server information, 1067
Mono project, 5
PrintingCapsEdit project, 895
SharePoint Web sites information, 920
Web services specifications, 1127
WROX Web site, 895, 920, 1151
INullable interface, 637
Invalidate() method (Form class), 884–886
invariant cultures, 516
Invoke() method, 1117
invoking methods
generic methods, 297
overview, 87–89
IP addresses
Dns class, 1260–1261
DNS servers and, 1259
DnsLookup application, 1261–1262
IPAddress class, 1260
IPHostEntry class, 1260
IPAddress class, 1260
IPHostEntry class, 1260
is operator, 138
isolation levels for ADO.NET transactions, 588–589
isolation of Enterprise Services transactions, 1078
IsStyleAvailable() method (FontFamily class), 879
IsTransparentProxy() method (RemotingServices class), 1029
ITransferBankAccount interface, 131–132
IUnknown interface (COM), 1163, 1164
IWelcome interface (COM), 1160–1161, 1162, 1174, 1177–1178