validation of code, 131
evaluation stack, importance of, 132
Value property
auto layout, 126
explicit layout, 125
sequential layout, 125
StructLayoutAttribute class, 125
value types, 122
compared to reference types, 265
finalizers and, 230
IL value types, 64
constructors, 70
fields, 64
local variables, 66
methods, 67
properties, 67
initialization in C#, 73
initobj instruction, 75
optimizing performance, 265
safe points, 123
ValueType class, 124
not genuine value type, 125
reference types, 124
vbc.exe, VB compiler tool, 186
vectors, manipulating
see manipulating vectors.
verification of code, 136
peverify.exe, importance of, 139
type safety
cross platform type safety, 138
ECMA algorithm, 139
need for, 137
problems in implementation, 137
verifiably type-safe, 137
verification skipping
delay-signing an assembly, 512
Verisign
certification authorities, 514
VES
ECMA standard, 119
executing finalizers, 216
virtual addresses
committed, 277
free, 277
reserved, 277
Virtual Execution System, see VES.
virtual keyword
.method directive, 79
virtual machine, IL, 18
argument table, 19
evaluation stack, 20
abstract stack machines, 24
local memory pool, 19
managed heap, 20
static members, 20
virtual memory management
allocation, 277
commmited virtual addresses, 277
disadvantage, 278
free virtual addresses, 277
reserved virtual addresses, 277
virtual memory requirements
mimimizing for optimum performance, 270
virtual methods
IL virtual methods, 78
callvirt command, 80
declaring methods, 78
invoking methods, 80
not inlined, 246
VirtualAlloc() API call
memory management, 277
VlrtualFree() API call
memory management, 277
viruses
certificate security issues, 518
Visual Basic .NET
avoid late binding, 266
avoid Visual Basic 6 constructions in Visual Basic .NET, 269
CodeDom sample, generating, 333
compared to C++ and C#, 239
problems with Visual Basic 6 to Visual Basic .NET conversion, 269
SyncLock statement, 359
vbc.exe compiler tool, 186
viewing Visual Basic .NET generated IL using ildasm.exe, 109
Visual Basic .NET modules compared to IL modules, 110
Visual Basic 6
avoid Visual Basic 6 constructions in Visual Basic .NET, 269
late binding, 266
problems with Visual Basic 6 to Visual Basic .NET conversion, 269
reference counting, 206
auto-reference counting, 209
Visual Studio .NET
Compuware profiler, profiling using, 302
DebuggableAttribute class, using, 250
debugging IL, 52
Disassembly window, 53
IL from high-level languages, 54
Watch window, 53
design view
dynamic code generation, use in, 310
localization of assemblies, 200
locating assemblies, 181
properties
dynamic code generation, use in, 310
unmanaged resources, lack of specific built-in support for, 169
void keyword
.method directive, 17
VS.NET GreetMe example, 200–203