IADsServiceOperations interface, 1605–1606
IANA (Internet Assigned Number Authority), 1362
IChannel interface, 1412
IChannelReceiver interface, 1412, 1414
IChannelSender interface, 1412, 1414
ICollection interface, 145
ICollection<T> interface, 1699–1700
IComparable interface, 205, 261, 280
IComparer interface, 205, 261
icons
defining for activity, 1555–1557
setting form, 1021
shield, 1656–1658
IContextAttribute interface, 1406
ID attributes, control names, 1221
identifiers, programming guidelines for, 74–76
identity, configuring with Component Services Explorer, 1464
identity permissions
list of, 598
not included in permission sets, 599
IDictionary interface, 1413–1414
IDisposable interface, 327–330
freeing unmanaged resources, 327–328
implementing in C#, Visual Basic and C++/CLI, 1642–1643
implementing with using clause, 855–856
summary, 899
using in conjunction with destructors, 328–330
IEnlistmentNotification, resource managers and, 697–698
IEnumerable interface
arrays, 145
do...while loops and, 1638
generic version (IEnumerable<T>), 249
message queues and, 1497
IEnumerator interface, 147, 1498
IExtenderProviderService interface, 1563–1564
#if,, preprocessor directive, 72–73
if statements, in C#, Visual Basic and C++/CLI, 1634–1635
if...else statement
conditional statements, 48–49
switch statements in C++, 1635–1636
ternary (?:) operator and, 159
IfElseActivity, 1544–1545, 1561
IFormatProvider, 641–642
IFormattable interface
format strings and, 228
FormattableVector example, 231–233
ToString( ) method, 230–231
IIf function, in Visual Basic, 1635
IIS (Internet Information Server)
ASP.NET working with, 1214
hosting .NET Remoting servers, 1439–1440
installing ASP.NET Web sites, 1216
IL (intermediate language)
application domains in .NET, 14–16
attribute use, 17
CLS and, 12–13
exception handling, 16–17
features, 7–8
garbage collection, 13–14
ildasm utility as MSIL
disassembler, 479
language interoperability and, 5–7, 496
managed code and, 4–5
.NET security, 14
ngen for compiling IL code to native code, 497–498
object orientation and interface support, 8–9
strong data typing, 9–12
value and reference types and, 9
ildasm utility
regenerating assemblies, 653
symbols, 480
viewing assemblies, 479
ILease interface, 1427
IList interface
arrays, 146
DataGridView supporting, 1047
inserting elements into lists, 275
IList<T> interface, 275
IListSource interface, 1047
ILogicalThreadAffinative interface, 1450–1451
ImageList component, 1005
images
adding to custom controls, 1030
Button, 999
displaying in GDI+, 1103–1105
issues when manipulating, 1105–1106
setting ToolStrip, 1012
IMessage interface, 1420
IMessageFormatter interface, 1495–1496
IMessageSink interface, 1421
IMethodCallMessage interface, 1420
IMethodMessage interface, 1420
immediate notification, 1588
immutable data types, String class, 223
implementation inheritance
abstract classes and functions, 117
adding constructors to a hierarchy, 120–122
adding constructors with parameters to a hierarchy, 122–124
calling based versions of functions, 116–117
constructors of derived classes, 118–120
hiding methods, 115–116
implementation inheritance vs.
interface inheritance, 111–112
modifiers, 124–126
overview of, 113–114
sealed classes and methods, 117–118
virtual methods, 114–115
Implements keyword, 1626
implicit conversions, data types, 164–165
implicit renewals, leases, 1426
ImportCatalogPart control, 1292
Imports keyword, 1622
IMyMessage interface, duplex communication, 1538
increment (++) operator, 158
index operators, 156, 180
indexes
accessing array elements, 135
accessing elements in lists, 275–277
DataRow indexer, 873–874
indexer class functions, 86
RGB color values, 1096
searching lists, 277–279
XML, 980
indirection operator (*), 156, 333
inference, delegate, 200–201
inheritance, 111–132.
See also implementation inheritance
AJAX Library OOP extensions, 1327–1328
in C#, Visual Basic and C++/CLI, 1640–1642
classes and, 112–113
generic classes, 255–256
implementation inheritance vs. interface inheritance, 111–112
multiple, 112
structs and, 103, 112–113
summary, 132
types of, 111
Init( ) method, creating user-defined aggregates, 966–967
initialization
arrays, 134–135
custom controls, 1028–1030
objects and collections, 1699–1700
user controls, 1034
InitializeComponent( ) method
creating Windows Form application, 992–993
drawing scrollable windows, 1090
drawing shapes, 1076–1077
selecting data, 1062
InitializeLifetimeService( ) method, 1428–1429
inner product, multiplication of vectors, 176–177
input strings, 235
Insert( ) method
inserting elements into lists, 275
OrderData component, 1474
INSERT statements, 859
inserting XML content, 979
Install( ) method, message
queues, 1510
installation packages
creating, 448
SimpleClientApp solution, 448–456
SimpleWebApp solution, 456–457
installation program, Windows Services, 726
Installer classes, Windows Services, 726–730
overview of, 726–727
ServiceInstallerDialog, 730
ServiceProcessInstaller and ServiceInstaller, 727–730
installer packages, creating with Component Services Explorer, 1462–1463
installer projects, Visual Studio 2005, 446–447
installutil.exe, 731, 1510
instantiation
classes, 84
delegates, 197–198
forms, 1017–1020
images, 1103
integer types
casting pointers to, 334–335
enumerations compared with, 56
predefined value types, 41–42
Intellisense, predicting code entries, 1221
interactive services, Windows Services, 743–744
interceptors, 1405
interface keyword, 1626
interfaces
in C#, Visual Basic and C++/CLI, 1626
collection, 270–271
defining and implementing, 127–130
derived, 131–132
generic, 256–257
IL and, 8–9
implementation inheritance vs. interface inheritance, 111–112
.NET Remoting, 1440
overview of, 126–127
interfaces, COM, 749–751
casting and querying, 751
custom, 749
dispatch, 749–750
dual, 750
overview of, 749–751
Interlocked class, thread safety, 571–572
internal protected access
modifier, in C++/CLI, 1640
Internet access, 1339–1372
HTML and. See HTML (Hypertext Markup Language)
IP addresses and DNS names, 1358–1361
lower-level protocols, 1361–1371
URIs, 1357–1358
WebClient class, 1340–1342
WebRequest and WebResponse classes, 1342–1345
Internet Assigned Number
Authority (IANA), 1362
Internet Explorer
adding more features to
application, 1349–1354
launching instances of, 1348–1349
running Windows Forms controls in, 782–783
Internet Information Server. See IIS (Internet Information Server)
Internet Zone, security zones, 461–462, 630
Invalidate( ) method
adding user input in GDI+, 1126
calculating item and document sizes, 1119
Control class, 998
editing text document, 1116–1117
Invoke( ) method
accessing native ADSI objects, 1605
pluggability of proxies and, 1419
proxy objects and, 1419
receiving messages, 1504–1505
IOException class, 372
IP addresses, 1358–1361
comprising endpoints, 1362
DNS names and, 1359
DNSLookup example, 1360–1361
IPv4 and IPv6, 1358
.NET classes for, 1359–1360
IPAddress class, 1359
IPC channels
object activation, 1417–1419
overview of, 1411–1413
properties, 1413–1414
registering with ChannelServices, 1415–1416
security configuration, 1442–1444
IPHostEntry class, 1359–1360
IPrincipal interface, 632
IResourceReader, System.Resources, 657
IRoomService interface, 1515–1516, 1522
is operator, 160
IServerChannelSinkProvider
interface, 1413–1414
IsHandCreated property, Control class, 997–998
IsInAsyncPostBack property, 1317–1318
isolated storage, reading/writing to, 840–845
isolation levels
ACID properties, 677
transactions, 695–697, 857
IsolationLevel enumeration, 695–696
ISponsor interface, 1427
It just works, interoperability and, 1651
ItemsControl, WPF, 1151–1152
<ItemTemplate>, 1246