machine configuration files for assemblies, 450
machine.config file, 1041, 1046
mage.exe ClickOnce tool, 568
mageUI.exe ClickOnce tool, 568
Main() method
for Finnish sorting example, 525
first thread started at, 350
MortimerColdCall example, 341–343
overview, 32–33, 61
passing arguments to, 63
PriorityDocumentManager class, 292
QuoteService example, 1284–1285
single entry point provided by, 349
TypeView assembly example, 318
using multiple Main() methods, 61–62
Windows Form application, 752–753
for Windows Services, 1273–1274
making. See building; compiling
managed code. See also IL or MSIL (Microsoft Intermediate Language)
language interoperability with, 5–7
performance improvement with, 5
platform independence with, 4–5
managed heap
garbage collector and, 13, 198–199
reference types stored in, 9, 39, 196–198
stack and, 196–198
structs stored in, 9
value types declared within reference types stored in, 9
manifests of assemblies, 418
manufactured tables and rows
dispatching methods for, 837–838
getting the selected row, 839–840
required methods for, 835–837
using an attribute, 837
maps. See dictionaries
marshal-by-reference classes, 1031–1032
MarshalByRefObject class, 1188
marshal-by-value classes, 1031
marshaling
COM, 1159
.NET Remoting, 1032–1034
MaskedTextBox control (Windows Forms), 773, 774
master pages (ASP.NET)
Content controls and, 958
.master file extension for, 956
modifying .aspx pages to use, 957
in PCSDemoSite application, 958–960
requirements for .aspx pages using, 958
selecting when adding .aspx pages to Web site, 957–958
standard .aspx pages compared to, 956–957
uses for, 956
MathOperations class
multicast delegate with, 183–184
simple delegate with, 177–179
MathTest class, 87–89
MDI (Multiple Document Interface), 786–787
MeasureString() method (Graphics class), 874, 893
member variables. See fields
MemberwiseClone() method, 107, 108
memory management. See also managed heap; stack
in C++, 13
in COM, 13, 1153
destructors for, 199–200, 202–203
freeing unmanaged resources, 199–204
garbage collection, 13–14, 193–194, 198–199
IDisposable interface for, 201–204
reference types and, 196–198
value types and, 194–195
virtual addressing and virtual memory, 194
Windows platform methods for, 13
memory (RAM)
freeing in COM, 1153
requirements for application deployment, 553
MenuCommand proxy class, 838
menus (Windows Forms)
ContextMenuStrip class for, 779
MenuStrip control for, 779
ToolStrip control for, 776
ToolStripManager class for, 780
ToolStripMenuItem class for, 779–780
MenuStrip control (Windows Forms), 779
Merge() method, 644–645
Message Queuing
acknowledgement messages, 1099
acknowledgement queues, 1120
administration queues, 1100
administrative tools, 1101–1102
architecture, 1099–1101
asynchronous operation of, 1095–1096
asynchronous read, 1110–1111
components available for, 1098
connected and disconnected programming, 1096
course order application, 1111–1119
creating message queues programmatically, 1103
creating message queues with Computer Management tool, 1101
dead-letter queues, 1100, 1105
enumerating messages, 1109–1110
express delivery mode, 1099
features, 1098
finding a queue, 1103–1104
installing message queues, 1122
journal queues, 1100, 1105
message formatter, 1107–1108
message queue properties, 1101–1102
message queues overview, 1100–1101
messages overview, 1099–1100
opening known queues by format name, 1105–1106
opening known queues by path name, 1104–1105
overview, 1095–1098
priorities for messages, 1099
private queues, 1100, 1105
public queues, 1100, 1105
receiving messages, 1109–1111
receiving results, 1120–1121
recoverable delivery mode, 1099–1100
report messages, 1099
report queues, 1100
response messages, 1099
response queues, 1100, 1120–1121
sending messages, 1106–1109
service for, 1098–1099
system queues, 1100
transactional messages, 1100
transactional queues, 1121–1122
uses for, 1096–1097
WCF and, 1147
message sinks (.NET Remoting)
defined, 1012, 1015
overview, 1030–1031
MessageArrived handler method (MessageQueue class), 1110–1111
MessageEnumerator class, 1110
MessageQueue class
BeginReceive() method, 1110
Create() method, 1103, 1121
EndReceive() method, 1111
Exists() method, 1104–1105
IEnumerable interface implemented by, 1109–1110
MessageArrived handler method, 1110–1111
Receive() method, 1109, 1110
Send() method, 1106, 1108
messages. See also events; Message Queuing
defined, 185
.NET Remoting, 1012, 1030
wrapped in events, 185
metadata
in assemblies, 18
COM, 1152
custom attributes emitted as, 306
methods. See also delegates; properties; specific methods
abstract, 117
anonymous, delegates with, 176–185
Application class, 753
binding (COM), 1155
calling base versions, 116–117
calling in Web services with SOAP, 984–985
for combined characters, 515
declaring, 86–87
defined, 86
DirectoryInfo class, 1191–1192
for drawing shapes and lines, 868–869
event handlers, 186–188
FileInfo class, 1191–1192
format of definitions, 33
functions versus, 86
generic, 297–299
of generic classes, 276–277
of generic interfaces, 275–276
hiding, 115–116
initialization required for variables local to, 35
invoking, 87–89
for keyboard events, 891
making accessible through Web services, 988
for manufactured tables and rows, 835–838
marking unsafe, 205
for mouse events, 890
multicast delegates and, 183–185
non-compliant with CLS, 426
Object class, 106–109
of object type, 45
overloading, 92
overriding virtual methods, 114–115
passing parameters to, 89–91
public versus static,33
Queue class, 257
for reading from console, 65
Registry class, 1231–1232
return statement for exiting, 55
return type required for, 87
sealed, 117–118
ServiceController class, 1300
ServicedComponent class, 1072
SortedList class, 258–259
Stack class, 255–256
String class, 224–225
StringBuilder class, 228–229
System.Type class, 315–316
usage conventions, 80
virtual, 114–115
in Visual Studio 2005 Object Browser window, 397–398
for writing to console, 65
XPathNavigator class, 679–680
Microsoft Application Center Server, 1067
Microsoft Intermediate Language. See IL or MSIL
Microsoft Management Console. See MMC
Microsoft SQL Server Database Engine (MSDE), connecting to local database, 823
Microsoft.SqlServer.Server namespace, 635
minus sign (-)
as decrement operator (--), 135–136
for removing method calls from multicast delegates, 183
MMC (Microsoft Management Console)
Active Directory Domains and Trusts snap-in, 721
Active Directory Sites and Services snap-in, 721
Active Directory Users and Computers snap-in, 721–722
Computer Management snap-in, 1101–1102
Services snap-in, 1293
mobile code, 463
modifiers. See also specific modifiers
interface members and, 126
visibility modifiers, 124–125
modules
assemblies versus, 421–422
creating, 421
defined, 421
purpose of, 423
Mono project, 5
MortimerColdCall example
catching user-defined exceptions, 341–343
ColdCallFileFormatException, 341, 346–347
ColdCallFileFormatException handler, 343
ColdCallFileReader class, 341, 342, 343–346
defining exception classes, 346–348
FileNotFound exception, 341, 342–343
LandLineSpyFoundException, 341, 346
Main() method, 341–343
overview, 340–341
testing, 347–348
throwing user-defined exceptions, 343–346
UnexpectedException, 341, 347
MortimerPhonesEmployees dictionary example, 264–269
mouse events
CapsEditor example, 890–893
methods for, 890
overview, 760
Move() method (File and Directory classes), 1197
MoveTo() method (FileInfo and DirectoryInfo classes), 1197
moving
files, 1197–1201
folders, 1197
.mresource attribute, 528, 538
MSDE (Microsoft SQL Server Database Engine), connecting to local database, 823
MSIL. See IL or MSIL (Microsoft Intermediate Language)
MSXML parser
System.Xml namespace advantages over, 664
using in .NET, 661–663
MTA (multi-threaded apartment) in COM, 1157, 1166
multicast delegates, 183–185
Multiple Document Interface (MDI), 786–787
multiple inheritance, 112
multitasking. See threading
MyFirstCSharpClass class, 30–33