Вы находитесь на странице: 1из 16

Index

A
absolute paths, 5-6 Add method ArrayList class, 2-16 ICollection interface, 2-9 IList interface, 2-9 AddAt method (ICollection), 2-9 AddHandler command, 7-19, 7-22 AddItem method (ICollection), 2-9 Addition Assignment operator, 7-23 ADO.NET, 5-22 advanced collections, 2-4 AfterInstall event, 3-36 to 3-37 AfterRollback event, 3-36 AfterUninstall event, 3-37 alerts, thresholds and, 4-28 angle brackets, 1-30 anonymous methods, 7-11 to 7-12 App.config file, 3-42, 3-44 AppendText method File class, 5-9 FileInfo class, 5-9 application logs, 4-5 application processes overview, 4-12 to 4-13, 4-101 retrieving information for current process, 4-17 to 4-18 retrieving list of, 4-14 to 4-16 retrieving list of modules used, 4-19 starting, 4-22 to 4-23 stopping, 4-22 to 4-23 application tracing. See tracing applications applications App.config file, 3-42 calling indirectly, 7-6 to 7-10 Configuration class, 3-44 Configuration Section classes, 3-43 data management, 5-49 to 5-60, 5-85 debugging, 4-34 to 4-54, 4-102 embedding events, 4-78 to 4-90 embedding information, 4-78 to 4-90, 4-103 isolated stores, 5-43 managing event logs, 4-3 to 4-11 managing performance, 4-26 to 4-33, 4-102 tracing, 4-55 to 4-77, 4-102 appSettings element (configuration file), 3-43 AppSettings property (Configuration), 3-45 appSettings section (configuration file), 3-43, 3-45 ArgumentException, 1-43 ArgumentOutOfRangeException, 1-26, 2-29 arguments, passing, 7-24 to 7-25 ArrayList class creating collections of reference types, 2-15 to 2-16 description, 2-7 List class, 2-35 non-generic collections, 2-13 specialized collections, 2-54 StringCollection class, 2-56 ArrayList collection, 2-4, 6-8, 6-11 arrays ArgumentOutOfRangeException, 1-26 overview, 2-4 resizing dynamically, 2-15 ASP.NET, 3-60, 5-14 aspnet_regiis -s command, 3-60 assemblies attributes, 1-17, 1-30 benefits, 3-5 CLSCompliantAttribute, 1-31 common forms, 3-12, 3-16 configuring, 3-61 to 3-62, 3-79 creating, 3-6 to 3-12 defined, 3-3 deploying into GAC, 3-19 to 3-20 DLL conflicts, 3-1 installing, 3-1, 3-16, 3-20, 3-79 installing with AssemblyInstaller class, 3-28 to 3-29 isolated stores, 5-43, 5-45 lifetime management, 3-67 methods to create, 3-7 multifile, 3-6, 3-9 to 3-11 overview, 3-4 to 3-5, 3-78 private, 3-13, 3-16 registering, 3-66 remoting services, 3-66 sharing, 3-3, 3-13 to 3-20, 3-79 single-file, 3-6 to 3-8 strongly-named, 3-17 to 3-18 TypeForwardedToAttribute, 1-31 types, 3-6

I-2

Index

assembly installers AssemblyInstaller class, 3-28 to 3-29 ComponentInstaller class, 3-31 to 3-33 copying component settings, 3-31 to 3-33 creating, 3-23 to 3-24 custom, 3-21, 3-28 deploying assemblies into GAC, 3-20 Installer class, 3-25 to 3-27 installing options programmatically, 3-39 managing installation, 3-34 to 3-35 overview, 3-23 AssemblyInstaller class, 3-26, 3-28 to 3-29 Assert method Debug class, 4-40 Trace class, 4-60 asterisk symbol, 5-69 asynchronous method calls, 7-5 to 7-6 asynchronous streaming, 5-23 attributes angle brackets, 1-30 custom, 1-30, 1-32 customizing code behavior, 1-30 Debugger, 4-34, 4-43 to 4-78 defined, 1-17, 1-30 event handlers, 6-75 to 6-78 predefined, 1-30 to 1-31 square brackets, 1-30 XML serialization, 6-19 to 6-25 AvailableFreeSpace property (DriveInfo), 5-13

bit structures overview, 2-28 to 2-29 specialized, 2-55 storing data in memory, 2-69 to 2-70 BitArray class, 2-13, 2-28 to 2-29 BitVector32 structure, 2-55, 2-69 BitVector32.Section structure, 2-55, 2-70 BizTalk Server, 4-4 Boolean data type, 1-46 to 1-47 bootstrapping, 3-60 boxing, 1-10 to 1-11, 1-21 Break method (Debugger), 4-38 to 4-39 BufferedStream class, 5-30 to 5-31, 5-50 Build command, 3-7 built-in value types, 1-7 Byte data type, 1-46 byte streams BufferedStream class, 5-30 to 5-31 compressing, 5-36 to 5-40, 5-85 defined, 5-21, 5-50 FileStream class, 5-26 to 5-27 managing, 5-54 to 5-55 MemoryStream class, 5-28 overview, 5-85 protecting information, 5-45 to 5-46, 5-85 reading, 5-24, 5-54 seeking, 5-24 Stream class, 5-24 to 5-25 streaming, 5-22 to 5-23 writing, 5-24, 5-54

B
base system types, 1-3, 1-5, 1-69 BeforeInstall event, 3-36 BeforeRollback event, 3-36 BeforeUninstall event, 3-37 binary data defined, 5-51 generating formats, 6-107 managing, 5-57 serialization, 6-6 to 6-11 BinaryFormatter class deserialization, 6-6 serialization, 6-6 serialization format for objects, 6-7 to 6-8 BinaryReader class, 5-51 to 5-52, 5-57 BinaryWriter class, 5-51, 5-53, 5-57 Binder property CustomFormatter class, 6-50 Formatter class, 6-62 IFormatter interface, 6-49 BindToType method (SerializationBinder), 6-49

C
C# programming language creating assemblies, 3-7 new techniques for delegates, 7-11 to 7-14 specifying attributes, 1-30 CAB project assembly installer, 3-24 call stacks constants, 1-7 managing, 4-49 to 4-54 value types in, 1-6 callback functions, 6-34 callback patterns, 7-8 to 7-10 CanDeserialize method (XmlSerializer), 6-18 CanRead property (Stream), 5-25 CanSeek property (Stream), 5-25 CanValidate method (ConfigurationValidatorBase), 3-55 CanWrite property (Stream), 5-25 Capture class, 5-72, 5-74 CaptureCollection class, 5-73

Index

I-3

casting defined, 1-13 explicit, 1-14 generics, 1-21 implicit, 1-13 type, 1-13, 1-21 catch block, 1-25 to 1-26 Changed event, 5-15 channels clientProviders tag, 3-67 defined, 3-66 registering, 3-67 Char data type, 1-46 CheckedChanged event, 7-22 CheckTypeSecurity method (FormatterServices), 6-63 CIM (common information model), 4-80 CInt function, 1-14 circular collections, 2-17 to 2-19 classes. See also specific types of classes as reference types, 1-9, 7-4 attributes, 1-17, 1-30 configuration elements, 3-47 custom serialization, 6-42 to 6-91, 6-108 Debugger attributes, 4-43 to 4-78 defined, 1-9 exception, 1-17, 1-25 formatter, 6-61 to 6-64 inheritance, 1-36 interfaces, 1-9, 1-36, 1-38 management, 4-80 to 4-81 non-generic collections, 2-13 string, 2-55 to 2-59 structures, 1-7 tracing applications, 4-58 Clear method ICollection interface, 2-9 IList interface, 2-9 Click event, 7-16 to 7-17 clientProviders tag (channel), 3-67 Clone method (ICloneable), 1-48 cloning deep, 1-48 to 1-49 overview, 1-48 shallow, 1-48 types, 1-48 to 1-49 Close method Stream class, 5-25 TextReader class, 5-53 TextWriter class, 5-53

Trace class, 4-60 TraceListener class, 4-71 TraceSource class, 4-64 CLR (Common Language Runtime) built-in value types, 1-7 debugger, 4-37 delegates, 6-34 garbage collection, 3-64 global assembly cache, 3-15 IConvertible interface, 1-47 Machine.config file, 3-43 MSIL support, 3-5 predefined exception handling, 1-25 to 1-26 probing, 3-62 registering assemblies, 3-66 user-defined value types, 1-7 CLS (Common Language Specification), 1-31, 1-47 CLSCompliantAttribute, 1-31 codebase, configuring, 3-61 collection classes creating custom collections, 2-75 to 2-78 creating dictionary types, 2-79 to 2-80 named, 2-55 string, 2-56 type safety, 1-21 collection interfaces defined, 2-8 generic vs. non-generic, 2-9 to 2-10 overview, 2-95 CollectionBase class, 2-75 to 2-76, 2-97 collections. See also circular collections; generic collections; non-generic collections; type-safe collections advanced, 2-4 arrays, 2-4 circular, 2-17 to 2-19 creating custom, 2-75 to 2-78 defined, 2-4 overview, 2-95 CollectionsUtil class, 2-55, 2-59 COM (Component Object Model) assemblies and, 3-3, 3-5 portability, 3-5 version conflict, 3-1, 3-5 Combine method (Delegate), 7-7 command prompt creating assembly installers, 3-24 Mscorcfg.msc tool, 3-61, 3-63 tracing applications, 4-57 Visual Studio Command Prompt, 3-7

I-4

Index

Commit method AssemblyInstaller class, 3-29 Installer class, 3-26 Committed event, 3-36 Committing event, 3-36 common information model (CIM), 4-80 Common Language Runtime. See CLR (Common Language Runtime) Common Language Specification (CLS), 1-31, 1-47 Common Type System (CTS), 1-5, 1-46 Compare method Comparer class, 2-25 IComparer interface, 2-9 Comparer class, 2-13, 2-25, 2-59 CompareTo method (IComparable), 1-43 comparison interfaces, 1-42 to 1-45 compatibility version element (configuration file), 3-59 Component Object Model. See COM (Component Object Model) ComponentInstaller class, 3-26, 3-31 to 3-33 compression defined, 5-35 Deflate algorithm, 5-36 isolated storage, 5-43 to 5-44 stream information, 5-36 to 5-40, 5-85 CompressionMode enumeration, 5-36 concurrent mode (garbage collection), 3-64 .config file extension, 3-42 configuration base types, 3-43 configuration classes Configuration Element classes, 3-43 implementing, 3-45 Microsoft.VisualBasic.MyServices namespace, 3-43 overview, 3-43 to 3-44 configuration elements configuring remoting settings, 3-67 defined, 3-43, 3-47 managing, 3-47 to 3-48 .NET Framework runtime version, 3-59 configuration files application environment, 3-40 appSettings section, 3-43, 3-45 configuration classes, 3-43 to 3-44 configuration elements, 3-47 defined, 3-42 garbage collection, 3-65 managing, 3-40 managing sections, 3-51 to 3-52 registering remote objects, 3-66 to 3-67 TraceSource class, 4-64 types, 3-42 to 3-43

configuration settings accessing and managing, 3-44 to 3-45 configuration base types, 3-43 configuration elements, 3-43 managing sections, 3-51 to 3-52 ConfigurationElement class, 3-43, 3-47 to 3-48 ConfigurationElementCollection class, 3-47 to 3-48 ConfigurationElementProperty class, 3-47 to 3-48 ConfigurationManager class, 3-43 to 3-45 ConfigurationSection class, 3-51 to 3-52 ConfigurationSectionCollection class, 3-51 to 3-52 ConfigurationSectionGroup class, 3-51 to 3-52 ConfigurationSectionGroupCollection class, 3-51 to 3-52 ConfigurationSettings class, 3-44 ConfigurationValidatorBase class, 3-54 to 3-55 configuring .NET Framework runtime version, 3-59 to 3-60 assemblies, 3-61 to 3-62, 3-79 codebase, 3-61 garbage collection, 3-64 to 3-65 remoting runtime settings, 3-67 TraceSource class, 4-64 ConnectionPool class, 1-38 connectionstrings configuration element, 3-43 ConnectionStrings property (Configuration), 3-45 ConsoleTraceListener, 4-41, 4-64, 4-70 const keyword, 1-7 constants, 1-7 constructors, 5-54, 5-57 Contains method ICollection interface, 2-9 IList interface, 2-9 Context property AssemblyInstaller class, 3-35 CustomFormatter class, 6-50 Formatter class, 6-62 IFormatter interface, 6-49 Installer class, 3-34 contravariance, 7-13 to 7-14 Convert class (IConvertible), 1-47, 6-62 Convert method FormatterConverter class, 6-64 IFormatterConverter interface, 6-50 Copy method (File), 5-9 CopyFromComponent method (ComponentInstaller), 3-31, 3-33 CopyTo method FileInfo class, 5-9 ICollection interface, 2-9 CorrelationManager class, 4-56, 4-74 to 4-75 CorrelationManager property (Thread), 4-74

Index

I-5

CounterCreationData class, 4-30 covariance, 7-13 Create method DirectoryInfo class, 5-11 File class, 5-9 FileInfo class, 5-9 Created event, 5-15 CreateDelegate method (Delegate), 7-7 CreateDirectory method (Directory), 5-11 CreateMask (BitVector32.Section), 2-70 CreateSection (BitVector32.Section), 2-70 CreateSubDirectory method (DirectoryInfo), 5-11 CStr function, 1-14 CTS (Common Type System), 1-5, 1-46 currency, custom formatting, 1-53 Current property IEnumerator interface, 2-10 List.Enumerator structure, 2-35 Queue.Enumerator structure, 2-37 Stack.Enumerator structure, 2-37 StringEnumerator class, 2-58 CustomFormatter class, 6-49 to 6-50, 6-64, 6-77

D
data management applications, 5-49 to 5-60, 5-85 binary data, 5-57 FileStream class, 5-26 to 5-27 managing streams, 5-54 to 5-55 MemoryStream class, 5-28 term clarification, 5-50 to 5-51 text/string classes, 5-52 to 5-53 Data property (BitVector32), 2-69 data types casting, 1-13 to 1-14 CLSCompliantAttribute, 1-31 converting with IConvertible interface, 1-46 DataReader object (ADO.NET), 5-22 DateTime data type, 1-46, 5-57 Day grouping construct, 5-73 Debug class, 4-40 to 4-41, 4-58 Debugger attributes, 4-34, 4-43 to 4-78 Debugger class, 4-34, 4-38 to 4-39 DebuggerBrowsableAttribute class, 4-44, 4-46 DebuggerDisplayAttribute class, 4-44, 4-46 DebuggerHiddenAttribute class, 4-44, 4-46 DebuggerNonUserCodeAttribute class, 4-45 DebuggerStepperBoundaryAttribute class, 4-45 DebuggerStepThroughAttribute class, 4-45 DebuggerTypeProxyAttribute class, 4-45 DebuggerVisualizerAttribute class, 4-45

debugging applications, 4-34 to 4-54, 4-102 defined, 4-36 Decimal data type, 1-46 decompression defined, 5-35 Deflate algorithm, 5-36 GZipStream class, 5-39 deep cloning, 1-48 to 1-49 Deflate algorithm, 5-36 DeflateStream class, 5-35 to 5-40 Delegate class, 7-6 to 7-10 delegates as reference types, 7-4 calling applications indirectly, 7-6 to 7-10 events and, 6-34, 7-2, 7-5 methods and, 6-34, 7-6 to 7-7 new techniques, 7-11 to 7-14 overview, 7-4 to 7-5, 7-34 serialization and, 6-34 to 6-35 types of, 7-5 Delete method Directory class, 5-11 DirectoryInfo class, 5-11 File class, 5-9 FileInfo class, 5-9 Deleted event, 5-15 DelimitedListTraceListener class, 4-70 Dequeue method (Queue), 2-39 deserialization custom functionalities, 6-44 defined, 6-3 ObjectManager class, 6-90 to 6-91 overview, 6-5 to 6-6 Deserialize method BinaryFormatter class, 6-6, 6-8 Formatter class, 6-62 IFormatter interface, 6-49 SoapFormatter class, 6-6, 6-11 XmlSerializer class, 6-18 device drivers, 4-4 Dictionary class description, 2-7, 2-40 implementing, 2-41 StringDictionary class, 2-55 dictionary classes, 2-55, 2-61 to 2-63, 2-79 to 2-80 Dictionary collection, 2-33 Dictionary property (DictionaryBase), 2-80 DictionaryBase class, 2-80 DictionaryEntry structure, 2-61, 2-63, 2-80 Directory class, 5-10 to 5-11 Directory method (FileInfo), 5-9

I-6

Index

DirectoryInfo class, 5-10 to 5-11 DirectorySeparatorChar method (Path), 5-6 Dispose method (IDisposable), 1-38, 1-40, 1-57 DLL conflicts, 3-1 .dll files assemblies as, 3-6, 3-12 modules as, 4-19 overview, 3-4 domains, 5-43 DoSomething method (Debug), 4-41 Double data type, 1-46 doubly linked lists, 2-47 to 2-48 DriveFormat property (DriveInfo), 5-13 DriveInfo class, 5-12 to 5-13 drives, 5-12 DriveType enumeration, 5-12 DynamicInvoke method (Delegate), 7-7

E
EnableRaisingEvents property (FileSystemWatcher), 5-17 Encoding property (TextWriter), 5-53 Enqueue method (Queue), 2-39 Entries property (EventLog), 4-8 enumeration attributes, 1-17, 1-30 defined, 1-7 iterating through collection elements, 2-20 to 2-21 user-defined value types, 1-7 Enumerator structure, 2-35, 2-37, 2-47 Equals method IEqualityComparer interface, 2-9 IEquatable interface, 1-44 to 1-45 error conditions. See exception handling Error event, 5-15 error messages, 4-4 ErrorEventArgs class, 5-16 to 5-17 ErrorEventHandler class, 5-16 ErrorEventHandler delegate, 5-17 Event command, 7-19 event handlers delegates and, 6-34, 7-17 passing arguments, 7-24 to 7-25 serialization events, 6-75 to 6-78 event logs defined, 4-4 managing, 4-101 reading entries, 4-7 to 4-8 types, 4-4 to 4-5 writing entries, 4-7 to 4-8 Event statement, 7-19 to 7-20

EventArgs class creating custom events, 7-18 delegates and, 5-17, 7-19 passing arguments, 7-24 to 7-25 EventArrived event, 4-83 EventHandler delegate, 7-18 to 7-22 EventLog class, 4-5, 4-8 EventLogPermission class, 4-5 EventLogTraceListener class, 4-70 EventQuery class, 4-80 to 4-81 events assigning handles, 7-21 to 7-22 creating custom, 7-18 declaring, 7-20 delegates and, 6-34, 7-2, 7-5 embedding in applications, 4-78 to 4-90, 4-103 Event statement, 7-19 to 7-20 file system, 5-14 to 5-17 handling serialization, 6-75 to 6-78 interfaces, 1-9, 1-38 overview, 7-15 to 7-18, 7-34 prebuilt, 7-16 to 7-17 publisher model, 7-17 reading entries in event logs, 4-7 to 4-8 subscriber model, 7-17 writing entries in event logs, 4-7 to 4-8 exception classes, 1-17, 1-25 exception handling exception classes, 1-17, 1-25 predefined, 1-25 to 1-26 user-defined, 1-27 .exe files assemblies as, 3-6, 3-12 modules as, 4-19 overview, 3-4 Exists method Directory class, 5-11 File class, 5-9 explicit casting, 1-14

F
Fail method (Trace), 4-60 failure messages, 4-4 FIFO (first-in, first-out) principle, 2-18, 2-37 File class, 5-8 to 5-9, 5-21 file systems Directory classes, 5-10 to 5-11 DirectoryInfo classes, 5-10 to 5-11 DriveInfo class, 5-12 to 5-13 File class, 5-8 to 5-9 FileSystemWatcher class, 5-14 to 5-17

Index

I-7

handling events, 5-14 managing, 5-84 Path class, 5-5 to 5-6 File Transfer Protocol (FTP), 1-27 FileInfo class, 5-8 to 5-9, 5-21 FileStream class BufferedStream class, 5-30 managing byte streams, 5-50 managing data, 5-49 overview, 5-26 to 5-27 FileSystemInfo class DirectoryInfo class, 5-10 to 5-11 DriveInfo class, 5-12 FileInfo class, 5-8 FileSystemWatcher class, 5-14 to 5-17 Filter property FileSystemWatcher class, 5-17 TraceListener class, 4-70 Finalize method (IDisposable), 1-57 finally block, 1-25 first-in, first-out (FIFO) principle, 2-18, 2-37 fixup, 6-90 Flush method Stream class, 5-25 TextWriter class, 5-53 Trace class, 4-60 TraceListener class, 4-71 TraceSource class, 4-64 foreach loops, 2-20 FormatProvider property (TextWriter), 5-53 Formatter class, 6-49, 6-61 to 6-62, 6-64 FormatterConverter class, 6-61 to 6-62, 6-64 FormatterServices class, 6-61, 6-63 to 6-64 formatting data, 1-52 to 1-54 FrameCount property (StackTrace), 4-50 FromTypes method (XmlSerializer), 6-18 FTP (File Transfer Protocol), 1-27 FullName method (DirectoryInfo), 5-11 function declarations, 1-9 functions, 1-6, 1-9

G
GAC. See global assembly cache Gacutil.exe tool, 3-16, 3-20 garbage collection, 1-57 to 1-58, 3-64 to 3-65, 3-67 gcConcurrent element (configuration file), 3-65 generic collections. See also specialized collections defined, 2-5 doubly linked lists, 2-47 to 2-48 non-generic collections vs., 2-6

overview, 2-6, 2-33, 2-96 types, 2-7 type-safe collections, 2-37 to 2-39 generics advantages, 1-21 defined, 1-17, 1-19 delegate signatures, 7-5 IComparable interface, 1-43 IEquatable interface, 1-44 implementing, 1-20 type safety, 1-17, 1-19, 1-21 Get method BitArray class, 2-29 NameValueCollection class, 2-68 GetCurrentProcess method (Process), 4-17 to 4-18 GetCustomAttribute method (Attribute), 1-32 GetDirectories method Directory class, 5-11 DirectoryInfo class, 5-11 GetDirectoryName method (Path), 5-6 GetDrives method (DriveInfo), 5-13 GetEnumerator method ICollection interface, 2-9 IEnumerable interface, 2-10, 2-20 GetException method (ErrorEventArgs), 5-17 GetExtension method (Path), 5-6 GetFileLineNumber method (StackFrame), 4-50 GetFileName method Path class, 5-6 StackFrame class, 4-49 GetFiles method Directory class, 5-11 DirectoryInfo class, 5-11 GetFrame method (StackTrace), 4-51 GetFullPath method (Path), 5-6 GetHashCode method (IEqualityComparer), 2-9 GetInvocationList method (Delegate), 7-7 GetLogicalDrives method (Directory), 5-11 GetObjectData method FormatterServices class, 6-63 to 6-64 ISerializable interface, 6-48, 6-50 GetParent method (Directory), 5-11 GetProcesses method (Process), 4-14 to 4-16 GetProcessesByName method (Process), 4-23 GetRandomFileName method (Path), 5-6 GetSafeUnitializedObject method (FormatterServices), 6-63 GetSchema method (IXmlSerializable), 6-30 GetSection method (Configuration), 3-45 GetSerializableMembers method (FormatterServices), 6-63

I-8

Index

GetTempPath method (Path), 5-6 GetType method (Formatter), 6-49 GetTypeFromAssembly method (FormatterServices), 6-63 GetUninitalizedObject method (FormatterServices), 6-63 global assembly cache (GAC) deploying assemblies, 3-19 to 3-20 installing assemblies, 3-1, 3-16, 3-20 location, 3-15 overview, 3-15 probing, 3-62 sharing assemblies, 3-3, 3-13 to 3-20, 3-79 Group class, 5-73 to 5-74 GroupCollection class, 5-73 to 5-74 grouping constructs, 5-73 GZip data format, 5-39 GZipStream class, 5-35, 5-39 to 5-40

H
HandlerMethod delegate, 7-14 handles, assigning to events, 7-21 to 7-22 Hashtable class accessing reference types, 2-25 to 2-26 CollectionsUtil class, 2-55, 2-59 description, 2-7 Dictionary class, 2-40 HybridDictionary class, 2-62 ListDictionary class, 2-55 non-generic collections, 2-13 specialized collections, 2-54 Hashtable collection, 2-4 HasValue property (Nullable), 1-22 heap memory boxing, 1-11 creating objects, 1-8 defined, 1-8 reference types, 1-8 HTTP (Hypertext Transmission Protocol), 3-66, 6-6 HttpChannel, 3-66 HybridDictionary class, 2-55, 2-62 Hypertext Transmission Protocol (HTTP), 3-66

I
IApplicationSettingsProvider interface, 3-56 ICloneable interface, 1-48 to 1-49 ICollection interface, 2-9 IComparable interface, 1-42 to 1-43, 2-9 IComparer interface, 2-9, 2-40

IConfigurationSectionHandle interface, 3-56 IConvertible interface, 1-46 to 1-47, 6-62 ID attribute, 3-67 ID property ConfigurationElement class, 3-48 Process class, 4-18 IDE (Integrated Development Environment), 3-7 IDeserializationCallback interface, 6-47 to 6-49, 6-64, 6-77 IDictionary interface, 2-8 to 2-9, 2-61, 2-80 IDisposable interface, 1-38, 1-40, 1-57 to 1-58 IEnumerable interface, 2-10, 2-20 IEnumerator interface, 2-20 IEqualityComparer interface, 2-9 IEquatable interface, 1-44 IFormattable interface, 1-52 to 1-54 IFormatter interface, 6-47, 6-49 to 6-50, 6-62, 6-77 IFormatterConverter interface, 6-47, 6-50, 6-62, 6-77 IIS (Internet Information Services), 3-60, 4-4 IL Disassembler, 3-5 IList interface, 2-8 to 2-9, 2-76 implicit casting, 1-13 IncludeSubdirectories property (FileSystemWatcher), 5-15, 5-17 indexes, 1-38, 2-15 IndexOf method (IList), 2-9 informational messages, 4-4 inheritance CustomFormatter class, 6-64 delegates, 7-6 Installer class, 3-26 IsolatedStorageFileStream class, 5-46 multiple, 1-36 StreamReader class, 5-54 StreamWriter class, 5-54 text classes, 5-52 to 5-53 InnerList property (ReadOnlyCollectionBase), 2-77 to 2-78 Insert method (IList), 2-9 Install method AssemblyInstaller class, 3-29 Installer class, 3-26 to 3-27 installation. See also assembly installers; runtime installation identifying options programmatically, 3-39 managing with installer classes, 3-34 to 3-35 of assemblies, 3-1, 3-16, 3-20, 3-79 of assemblies with AssemblyInstaller class, 3-28 to 3-29 performing tasks, 3-58 to 3-68, 3-80

Index

I-9

InstallContext class, 3-34 to 3-35 Installer class creating custom, 3-26 implementing, 3-26 to 3-27 overview, 3-2, 3-25 to 3-26 InstallerCollection class, 3-34 to 3-35 InstallEventHandler delegate, 3-36 to 3-37 instance elements, 3-67 Int16 data type, 1-46 Int32 data type, 1-46 Int64 data type, 1-46 IntegerValidator class, 3-54 Integrated Development Environment (IDE), 3-7 interfaces. See also comparison interfaces as reference types, 1-9, 7-4 benefits, 1-38 categorizing uses, 1-59 classes, 1-9 defined, 1-9, 1-36, 1-38 defining functionality, 1-1 defining in code example, 1-39 functionality, 1-36 multiple implementation example, 1-40 naming conventions, 1-39 overview, 1-70 predefined, 1-37 single implementation example, 1-39 InternalBufferSize property (FileSystemWatcher), 5-15, 5-17 Internet Information Services (IIS), 3-60, 4-4 InvalidCastException, 1-47 InvalidPathChars method (Path), 5-6 IsAttached property (Debugger), 4-39 ISerializable interface, 6-47 to 6-49, 6-64, 6-77 ISettingsProviderService interface, 3-56 isolated storage compression, 5-43 to 5-44 protecting stream information, 5-45 to 5-46 IsolatedStorageFile class, 5-44 to 5-46 IsolatedStorageFileStream class, 5-44 to 5-46 Item method (ICollection), 2-9 iterators, 2-20 IXmlSerializable interface, 6-18, 6-29 to 6-30

Kill method (Process), 4-22 to 4-23 KillNotepads method (Process), 4-23

L
last-in, first-out (LIFO) principle, 2-17, 2-37 Launch method (Debugger), 4-38 to 4-39 Length property BitArray class, 2-29 FileInfo class, 5-9 Stream class, 5-25 lifetime management of assemblies, 3-67 LIFO (last-in, first-out) principle, 2-17, 2-37 LinkedList class, 2-7, 2-47 to 2-48 LinkedList collection, 2-33, 2-48 LinkedList.Enumerator structure, 2-47 LinkedListNode class, 2-48 List class, 2-7, 2-35 to 2-36, 2-54 List collection, 2-33 List.Enumerator structure, 2-35 ListDictionary class, 2-55, 2-61 to 2-62 Listeners collection, 4-64 Listeners property (TraceSource), 4-63 to 4-64 Log method (Debugger), 4-38 Log property (EventLog), 4-8 logic errors, 4-37 loosely typed environments, 1-4 to 1-5 lossless file compression, 5-36

M
Machine.config file, 3-43 to 3-44, 5-6 MachineName property (EventLog), 4-8 managed objects, 4-80 management classes, 4-80 to 4-81 ManagementEventWatcher class, 4-82 to 4-83 ManagementObjectSearcher class, 4-80, 4-87, 4-89 ManagementQuery class, 4-80 to 4-81 ManagementScope class, 4-80 ManageStateChange event handler, 7-22 Manifest section (assembly), 3-5 Match class, 5-73 to 5-74 MatchCollection class, 5-73 to 5-74 MemberwiseClone method, 1-49 memory as performance object, 4-27 boxing, 1-10 garbage collection support, 3-64 MemoryStream class, 5-28 storing data with bit structures, 2-69 to 2-70 unboxing, 1-10

K
Key property (DictionaryEntry), 2-80 key/value pairs, 2-25 to 2-27, 2-40 to 2-45, 2-61 KeyCollection class, 2-65 KeyDown event, 7-16 Keys property (NameObjectCollectionBase), 2-65

I-10

Index

MemoryStream class, 5-28, 5-30, 5-50 Merge Module project assembly installer, 3-24 metabase, 3-60 metadata, 3-5 Method property (Delegate), 7-7 methods. See also specific methods anonymous, 7-11 to 7-12 asynchronous calls, 7-5 to 7-6 delegates and, 6-34, 7-6 to 7-7 IDisposable interface, 1-38 interfaces, 1-38 Microsoft Intermediate Language (MSIL), 3-5 Microsoft.VisualBasic.MyServices namespace, 3-43 modules, 1-31, 4-19 Modules method (Process), 4-19 Month grouping construct, 5-73 Move method Directory class, 5-11 File class, 5-9 MoveNext method IEnumerator interface, 2-10 List.Enumerator structure, 2-35 Queue.Enumerator structure, 2-37 Stack.Enumerator structure, 2-37 StringEnumerator class, 2-58 MoveTo method DirectoryInfo class, 5-11 FileInfo class, 5-9 Mscorcfg.msc tool, 3-61, 3-63 MSIL (Microsoft Intermediate Language), 3-5 multicast delegates, 7-5 multicasting, 7-5 multifile assemblies, 3-6, 3-9 to 3-11 multiple inheritance, 1-36

nodes, 2-47 to 2-48 non-concurrent mode (garbage collection), 3-64 non-generic collections accessing reference types, 2-25 to 2-27 circular collections, 2-17 to 2-19 classes, 2-13 creating collections of reference types, 2-15 to 2-16 generic collections vs., 2-6 iterating through collection elements, 2-20 to 2-21 overview, 2-5, 2-96 storing Boolean values, 2-28 to 2-29 NotifyFilter property (FileSystemWatcher), 5-15, 5-17 null values, 1-17, 1-22 Nullable data type assigning null values, 1-17, 1-22 defined, 1-17 features, 1-35 implementing, 1-22

O
ObjectManager class, 6-90 to 6-91 ObjectQuery class, 4-80 to 4-81 objects cloning, 1-48 creating in heap memory, 1-8 creating instances, 1-48 non-generic collections, 2-5 serialization format, 6-7 to 6-11 streaming, 5-22 XML serialization, 6-17 to 6-18 ObjectType property (SerializationEntry), 6-45 OnAfterInstall method (Installer), 3-37 OnClear method CollectionBase class, 2-75 DictionaryBase class, 2-80 OnDeserialization method (IDeserializationCallback), 6-48, 6-50, 6-64 OnDeserializedAttribute, 6-75 to 6-76 OnDeserializingAttribute, 6-75 to 6-76 OnGet method (DictionaryBase), 2-80 OnInsert method CollectionBase class, 2-75 DictionaryBase class, 2-80 OnRemove method CollectionBase class, 2-75 DictionaryBase class, 2-80 OnSerializedAttribute, 6-75 to 6-76 OnSerializingAttribute, 6-75 to 6-76 OnSet method CollectionBase class, 2-75 DictionaryBase class, 2-80

N
Name property DirectoryInfo class, 5-11 DriveInfo class, 5-13 FileInfo class, 5-9 SerializationEntry structure, 6-45 TraceSource class, 4-64 named collection classes, 2-55 NameObjectCollectionBase class, 2-55, 2-65 namespaces, classes and, 1-9 NameValueCollection class, 2-55, 2-68 naming conventions, 1-39 narrowing conversion, 1-14 netmodule (code block), 3-12 new operator, 1-8 NewLine property (TextWriter), 5-53

Index

I-11

Open method File class, 5-9 FileInfo class, 5-9 operating systems, 4-4 Option Strict statement, 1-14 OptionalFieldAttribute, 6-76 to 6-77 Options property (ManagementEventWatcher), 4-83 OrderedDictionary class, 2-55, 2-63

P
Paint event, 7-16 Path class, 5-5 to 5-6 Path property (FileSystemWatcher), 5-17 PathSeparator method (Path), 5-6 patterns callback, 7-8 to 7-10 regular expressions, 5-69 to 5-70, 5-72 to 5-74 PE files, 3-5 Peek method Queue class, 2-39 Stack class, 2-38 TextReader class, 5-52 performance considerations asynchronous streaming, 5-23 boxing, 1-10 BufferedStream class, 5-30 to 5-31 FileSystemWatcher class, 5-15 for applications, 4-26 to 4-33, 4-102 generics, 1-21 MemoryStream class, 5-28 unboxing, 1-10 performance counters, 4-27 to 4-30 Performance Monitor, 4-27 to 4-28 performance objects, 4-27 PerformanceCounter class, 4-30 PerformanceCounterCategory class, 4-30 pinging, 3-67 polymorphic behavior, 7-5 PopulatedObjectMembers method (FormatterServices), 6-63 portability for assemblies, 3-5 Position property (Stream), 5-25 predefined attributes, 1-30 to 1-31 predefined exception handling, 1-25 to 1-26 predefined interfaces, 1-37 primary collections. See non-generic collections primitive data types, 1-4 private assemblies, 3-13, 3-16

probing, 3-62 Process class GetCurrentProcess method, 4-17 to 4-18 GetProcesses method, 4-14 managing processes programmatically, 4-13 Modules method, 4-19 overview, 4-12, 4-14 starting applications, 4-22 to 4-23 stopping applications, 4-22 to 4-23 processes. See application processes ProcessName property (Process), 4-18 program stacks. See call stacks programming languages. See also C# programming language; Visual Basic programming language built-in value types, 1-7 CTS support, 1-5 properties, interface, 1-9, 1-38 public keys, 3-17 publisher model (events), 7-17 Push method (Stack), 2-38

Q
Query property (ManagementEventWatcher), 4-83 query strings, 4-87, 4-89 QueryString property (management classes), 4-81 Queue class circular collections, 2-18 to 2-19 description, 2-7 non-generic collections, 2-13 type-safe collections, 2-37, 2-39 Queue collection, 2-4 Queue.Enumerator structure, 2-37

R
RaiseEvent command, 7-17, 7-19 Read method Stream class, 5-25 TextReader class, 5-52 ReadAllText method (File), 5-9 ReadBlock method (TextReader), 5-52 ReadCompressedXMLIntoDataset method (DeflateStream), 5-37 reading byte streams, 5-24, 5-54 entries in event logs, 4-7 to 4-8 strings, 5-53 text, 5-49 ReadLine method (TextReader), 5-52

I-12

Index

ReadOnlyCollectionBase class, 2-77 to 2-78 ReadToEnd method StreamReader class, 5-54 TextReader class, 5-53 ReadXml method DeflateStream class, 5-37 IXmlSerializable interface, 6-30 reference counts, 3-67 reference types accessing based on key/value pairs, 2-25 to 2-27, 2-40 to 2-45 boxing, 1-10 to 1-11 classes as, 1-9, 7-4 comparison interfaces, 1-42 to 1-45 creating flexible collections, 2-15 to 2-16 defined, 1-8 delegates as, 7-4 features, 1-16 generic collections, 2-5 ICloneable interface, 1-48 to 1-49 IConvertible interface, 1-46 to 1-47 interfaces as, 1-9, 7-4 types, 1-9 unboxing, 1-10 to 1-11 ReferenceEquals method (FormatterServices), 6-63 RegEx class, 5-72, 5-74 registering remote objects, 3-66 to 3-67 regular expressions, 5-69 to 5-74, 5-86 relative paths, 5-6 remote objects, 3-66 to 3-67 remoting runtime settings, 3-67 Remove method Delegate class, 7-7 ICollection interface, 2-9 IList interface, 2-9 RemoveAll method (Delegate), 7-7 RemoveAt method (IList), 2-9 RemoveHandler command, 7-19 Renamed event, 5-15 RenamedEventArgs class, 5-16 to 5-17 RenamedEventHandler class, 5-16 RenamedEventHandler delegate, 5-17 Replace method File class, 5-9 FileInfo class, 5-9 Reset method (IEnumerator), 2-10 resources, disposing of unmanaged, 1-57 to 1-58 reusability, generics, 1-21 Rollback method (Installer), 3-26 RunInstaller attribute (Installer), 3-26 to 3-27

run-time errors, 4-36 runtime installation, 3-31 to 3-33 runtime version, 3-59 to 3-60

S
SaveDatasetAsCompressedXML method (DeflateStream), 5-37 SByte data type, 1-46 Scope property (ManagementEventWatcher), 4-83 security Directory class, 5-11 DirectoryInfo class, 5-11 event logs, 4-4 File class, 5-8 FileSystemWatcher class, 5-15 isolated storage, 5-44 security event log, 4-5 SecurityException, 5-15, 6-48 Seek method (Stream), 5-25 seeking byte streams, 5-24 self-dependency for assemblies, 3-5 Serializable attribute, 6-6, 6-10 serialization binary formats, 6-6 to 6-11, 6-107 creating custom classes, 6-42 to 6-91, 6-108 defined, 6-3, 6-17 delegates and, 6-34 to 6-35 event handler attributes, 6-75 to 6-78 overview, 6-5 to 6-6 SOAP formats, 6-6 to 6-11, 6-107 XML formats, 6-15 to 6-35 serialization types, 6-44 to 6-46 SerializationBinder class, 6-49, 6-62 SerializationEntry structure, 6-44 to 6-45 SerializationException, 6-6 SerializationInfo class defined, 6-44 event handler attributes, 6-77 implementing, 6-46, 6-50, 6-64 ISerializable interface, 6-48 Serialize method BinaryFormatter class, 6-6, 6-8 Formatter class, 6-62 IFormatter interface, 6-49 SoapFormatter class, 6-6, 6-11 XmlSerializer class, 6-18 Set method (BitArray), 2-29 SetAll method (BitArray), 2-29 Setup project assembly installer, 3-23 shallow cloning, 1-48 shared assemblies, 3-16

Index

I-13

ShouldTrace method (TraceFilter), 4-73 ShowValue method (Debug), 4-41 side-by-side execution, 3-17 Single data type, 1-46 singlecast delegates, 7-5 single-file assemblies, 3-6 to 3-8 Sn.exe tool, 3-18 SOAP formats attributes, 6-24 to 6-25 generating, 6-107 serializing data, 6-6 to 6-11, 6-17 SoapAttributeAttribute, 6-24 SoapElementAttribute, 6-24 SoapEnumAttribute, 6-24 SoapFormatter class deserialization, 6-6 serialization, 6-6, 6-17 serialization format for objects, 6-7, 6-10 to 6-11 SoapIgnoreAttribute, 6-24 SoapIncludeAttribute, 6-24 SoapTypeAttribute, 6-24 SortedDictionary class, 2-40, 2-45 SortedList class accessing reference types, 2-25, 2-27 CollectionsUtil class, 2-55, 2-59 description, 2-40 implementing, 2-43 non-generic collections, 2-13 SortedDictionary class, 2-40 specialized collections, 2-54 source code, 1-30 Source property (EventLog), 4-8 specialized collections collections with string-based keys, 2-65 to 2-68 high-performance dictionaries, 2-61 to 2-63 overview, 2-54 to 2-55, 2-97 storing data in memory, 2-69 to 2-70 string classes, 2-56 to 2-59 SQL Server, 4-4, 4-28 square brackets, 1-30 Stack class circular collections, 2-17 to 2-18 description, 2-7 non-generic collections, 2-13 type-safe collections, 2-37 to 2-38 Stack collection, 2-4, 2-33 stack memory, 1-8 Stack.Enumerator structure, 2-37 StackFrame class, 4-34, 4-49 to 4-50, 4-52 StackTrace class, 4-34, 4-49 to 4-52

Start method ManagementEventWatcher class, 4-83 Process class, 4-22 to 4-23 StartInfo property (Modules), 4-19 StartLogicalOperation method (CorrelationManager), 4-75 StartNotepads method (Process), 4-23 Stop method (ManagementEventWatcher), 4-83 storing Boolean values, 2-28 to 2-29 compressed files, 5-43 to 5-44 data in memory, 2-69 to 2-70 Stream class BinaryReader class, 5-57 BinaryWriter class, 5-57 BufferedStream class, 5-30 DeflateStream class, 5-36 FileStream class, 5-26 MemoryStream class, 5-28 overview, 5-24 to 5-25 streaming, 5-22 to 5-23. See also byte streams streaming objects, 5-22 StreamingContext structure defined, 6-44 handling serialization events, 6-75 implementing, 6-46 setting, 6-49 StreamReader class byte streams and, 5-50, 5-54 to 5-55 IsolatedStorageFileStream class, 5-46 purpose, 5-49 TextReader class, 5-52 StreamWriter class byte streams and, 5-50, 5-54 to 5-55 IsolatedStorageFileStream class, 5-46 TextWriter class, 5-53 String class, 2-61, 5-64 string classes, 2-55 to 2-59 String data type, 1-46 StringBuilder class, 5-53, 5-61 to 5-65 StringCollection class, 2-55 to 2-56 StringDictionary class, 2-55, 2-57 StringEnumerator class, 2-55, 2-58 StringReader class, 5-52 to 5-53 strings defined, 5-51 formatting data, 1-52 to 1-54 managing, 5-53 manipulating efficiently, 5-61 to 5-65, 5-86 regular expressions, 5-70, 5-72 StringWriter class, 5-53 strongly typed environments, 1-4 to 2-6

I-14

Index

strongly-named assemblies, 3-17 to 3-18 structures defined, 1-7 interfaces, 1-36, 1-38 shallow copies, 1-49 user-defined value types, 1-7 subscriber model (events), 7-17 Subtract method, 1-31 success messages, 4-4 Sum method, 1-21 supportedRuntime element (configuration file), 3-59 SurrogateSelector property CustomFormatter class, 6-50 Formatter class, 6-62 IFormatter interface, 6-49 Switch property (TraceSource), 4-64 synchronous streaming, 5-23 syntax errors, 4-36 system event log, 4-5 System Monitor, 4-27 System namespace, 4-19 System Registry, 3-1 system resource information, 4-86 to 4-90 system types defined, 1-1 features, 1-34 to 1-35 overview, 1-4 to 1-5, 1-69 reference types, 1-8 special, 1-17 to 1-32, 1-70 value types, 1-6 System.Array namespace, 2-4 System.Attribute class, 1-30, 1-32 System.Char value type, 1-6 System.Collections namespace advanced collections, 2-4 ArrayList class, 2-15 dictionary-style lookup classes, 2-25 non-generic collections, 2-8 System.Collections.Generic namespace, 2-8, 2-33, 2-40 System.Collections.Specialized namespace, 2-52, 2-54, 2-61, 2-65 System.Configuration namespace, 3-43, 3-45, 3-51 to 3-52 System.Configuration.Install namespace, 3-26 to 3-28 System.Convert class, 1-14, 1-46 System.Data.SqlClient namespace, 1-9 System.Data.SqlClient.SqlConnection object, 3-33 System.Diagnostics namespace application tracing, 4-58 to 4-59 CorrelationManager class, 4-74

performance counter classes, 4-30 StackFrame class, 4-49 StackTrace class, 4-49 TraceSource class, 4-63 System.Exception class, 1-25 System.Int32 value type, 1-6 to 1-7 System.IO namespace Directory class, 5-10 DirectoryInfo class, 5-10 DriveInfo class, 5-12 DriveType enumeration, 5-12 File classes, 5-8 FileInfo classes, 5-8 FileSystemWatcher class, 5-14, 5-16 managing strings, 5-53 Path class, 5-5 System.Management namespace, 4-80, 4-82 System.Object base system type generics, 1-17, 1-19, 2-5 object retrieval, 2-15 overview, 1-5 System.Object class, 1-53 System.Runtime.Remoting element, 3-67 System.Runtime.Serialization namespace, 6-46, 6-61, 6-90 System.Runtime.Serialization.Formatters.Binary namespace, 6-8 System.Runtime.Serialization.Formatters.Soap namespace, 6-10 to 6-11, 6-17 System.Single value type, 1-6 System.String class, 5-51 System.Text.RegularExpressions namespace, 5-69, 5-72 System.Web.TraceContext class, 4-58 System.Web.UI.WebControls namespace, 1-9 System.Windows.Forms namespace, 1-9 System.Xml.Serialization namespace, 6-17, 6-24 systems administrators, 4-80

T
Target property (Delegate), 7-7 TCP (Transmission Control Protocol), 3-66 TcpChannel, 3-66 template elements, 3-67 term process, 4-12 text data type overview, 5-50 regular expressions, 5-69 to 5-70, 5-72 to 5-74 TextReader class, 5-50, 5-52 to 5-53 TextWriter class, 5-50, 5-53 TextWriterTraceListener, 4-60, 4-71

Index

I-15

Thread class, 4-74 thresholds, alerts and, 4-28 throw statement, 1-25 to 1-27 Ticks property (DateTime data), 5-57 ToBoolean method (IConvertible), 1-46 ToDateTime method (IConvertible), 1-47 ToString method Formatter class, 6-49 FormatterConverter class, 6-62 IFormattable interface, 1-52 to 1-54 TotalFreeSpace property (DriveInfo), 5-13 TotalProcessorTime property (Process), 4-18 TotalSize property (DriveInfo), 5-13 Trace class overview, 4-56 to 4-58 tracing applications programmatically, 4-59 to 4-61 trace listeners ConsoleTraceListener, 4-41, 4-64, 4-70 TextWriterTraceListener, 4-60, 4-71 trace switches, 4-66 to 4-68 Trace.Assert command, 4-57 Trace.Indent command, 4-57 Trace.TraceError command, 4-57 Trace.TraceInformation command, 4-57 Trace.Write command, 4-57 TraceData method (TraceSource), 4-64 TraceEvent method (TraceSource), 4-64 TraceFilter class, 4-70, 4-73 TraceInformation method (TraceSource), 4-64 TraceListener class, 4-56 to 4-57, 4-70 to 4-71 TraceSource class, 4-56 to 4-57, 4-63 to 4-65 TraceSwitch class, 4-56 to 4-57, 4-66 to 4-68 tracing applications, 4-55 to 4-58, 4-102 Transmission Control Protocol (TCP), 3-66 try block, 1-25 to 1-26 type casting, 1-13, 1-21 type safety defined, 1-5 doubly linked lists, 2-47 to 2-48 generics, 1-17, 1-19, 1-21 loosely typed environments, 1-5 non-generic collections, 2-6 strongly typed environments, 1-5 TypeFilterLevel property (FormatterServices), 6-63 TypeForwardedToAttribute, 1-31 type-safe collections accessing reference types, 2-40 to 2-45 generic collections, 2-37 to 2-39 List class, 2-35 to 2-36 Queue class, 2-37, 2-39 Stack class, 2-37 to 2-38

U
UInt16 data type, 1-46 UInt32 data type, 1-46 UInt64 data type, 1-46 unboxing, 1-10 to 1-11, 1-21 Uninstall method (Installer), 3-26 to 3-27 UnknownAttribute event, 6-35 UnknownElement event, 6-35 UnknownNode event, 6-35 UnreferencedObjectEventHandler delegate, 6-35 user-defined exception handling, 1-27 user-defined value types, 1-7 UTF8 encoding, 5-57

V
Validate method (ConfigurationValidatorBase), 3-55 Value property DictionaryEntry structure, 2-80 SerializationEntry structure, 6-45 value types assigning null values, 1-17, 1-22 boxing, 1-10 to 1-11 built-in, 1-7 defined, 1-6 features, 1-16 generic collections, 2-5 overview, 1-6 unboxing, 1-10 to 1-11 user-defined, 1-7 variables, 1-5 versioning, 3-1, 3-5 Visual Basic programming language, 1-30, 3-7 Visual Studio, 3-23 to 3-24 Visual Studio 2005 Debugger, 4-34, 4-37, 4-43 Visual Studio Command Prompt, 3-7 VolumeSeparatorChar method (Path), 5-6

W
W3C (World Wide Web Consortium), 6-17 WaitForChange property (FileSystemWatcher), 5-17 WaitForNextEvent method (ManagementEventWatcher), 4-83 warning messages, 4-4 WBEM (Web-Based Enterprise Management), 4-78 Web applications, 3-42, 3-44, 3-60 Web Setup project assembly installer, 3-23 Web.config file, 3-42, 3-44 Web-Based Enterprise Management (WBEM), 4-78 WebConfigurationManager class, 3-44 widening conversion, 1-13

I-16

Index

wildcard characters, 5-69 Windows Event Viewer, 4-5 Windows Explorer, 3-20 Windows Form class, 1-3 Windows installer, 3-1, 3-62 Windows Management Instrumentation (WMI), 4-78 to 4-90 Windows Task Manager, 4-13, 4-19 WMI (Windows Management Instrumentation), 4-78 to 4-90 World Wide Web Consortium (W3C), 6-17 WQL statements, 4-81 Write method Stream class, 5-25 TextWriter class, 5-53 Trace class, 4-60 WriteAllText method (File), 5-9 WriteEntry method (EventLog), 4-8 WriteEvent method (EventLog), 4-8 WriteIf method (Trace), 4-60 WriteLine method Debug class, 4-40 to 4-41 TextWriter class, 5-53 Trace class, 4-60 WriteLineIf method Debug class, 4-41 Trace class, 4-60 WriteXml method DeflateStream class, 5-37 IXmlSerializable interface, 6-30 writing byte streams, 5-24, 5-54 entries in event logs, 4-7 to 4-8 strings, 5-53 text, 5-49

XML tags, 3-43, 3-47 XmlAnyAttributeAttribute, 6-20, 6-22 XmlAnyElementAttribute, 6-20, 6-22 XmlArrayAttribute, 6-20 XmlArrayItemAttribute, 6-20 XmlAttributeAttribute, 6-20 XmlAttributeEventHandler delegate, 6-35 XmlChoiceIdentifierAttribute, 6-20 XmlElementAttribute, 6-20 XmlElementEventHandler delegate, 6-35 XmlEnumAttribute, 6-20 XmlIgnoreAttribute, 6-20 XmlIncludeAttribute, 6-21 XmlNodeEventHandler delegate, 6-35 XmlRootAttribute, 6-21 XmlSerializationCollectionFixupCallback delegate, 6-35 XmlSerializationFixupCallback delegate, 6-35 XmlSerializationReadCallback delegate, 6-35 XmlSerializationWriteCallback delegate, 6-35 XmlSerializer class attributes, 6-19 to 6-21, 6-24 custom formatting, 6-29 to 6-30 delegates, 6-34 serialization, 6-16 to 6-17 XML format, 6-17 to 6-18 XmlTextAttribute, 6-21 XmlTypeAttribute, 6-21 XmlWriterTraceListener class, 4-70

Y
Year grouping construct, 5-73 yield statement, 2-20

X
XCOPY tool, 3-1, 3-13 XML serialization attributes, 6-19 to 6-25 delegates, 6-34 to 6-35 generating formats, 6-15 to 6-18, 6-108 IXmlSerializable interface, 6-29 to 6-30

Вам также может понравиться