packages
mapping to namespaces, 303
modeling using UML, 301
ParamArrays
multiple method signatures example, 108
parameter types, 90
output parameters, 93
passing by reference
ref keyword, 92
side effects, 91
passing by value, 90
parameterized methods
arguments and parameters
passing reference types by reference, 102
arrays, passing, 106
enumerated values, passing, 106
parameter types, 90
output parameters, 93
passing by reference, 91
passing by value, 90
passing reference types versus value types, 95
passing reference types by value, 99
passing value types by reference, 98
passing value types by value, 96
Strings, passing, 105
variable length parameter lists, 103
parameterized scalar properties
not supported in C#, 140
ParamName property, ArgumentException class, 112
Parse method, Double class, 19
Parse method, Enum class, 30
pinning
GC, 176
polymorphism
see also inheritance.
casting to different interface types, 293
definition, 262, 263
deriving classes, 280
interfaces and, 286
primitive types, 15, 16
example of using, 18
introduction, 16
literal syntax, 16
operator support, 16
structures and, 16
typeof operator and, 18
private accessibility level, 62
private assemblies
applications, deploying as assemblies, 327, 329
culture-specific assemblies, 331
deploying in different folders, 331
deploying in same folder, 329
private constructors, 189
NestedWorker class example, 190
reasons for creating, 189
Teacher class example, 189
private events, 242
private keyword, 39
privatePath attribute, probing element, 332
probing element
application configuration file, 332
privatePath attribute, 332
properties, 64, 125
accessors, 126
compared to methods, 68
defining, 35
defining as read-only or write-only, 66
Indexers, 125, 127, 140
compiling into MSIL, 145
defining single indexer in a class, 141
indexers_simple example, 141
overloading, 148
using with ArrayLists, 146
properties_bankaccount example, 64
scalar properties, 127
compiling into MSIL, 129
FootballTeam class example, 136
get procedure, writing guidelines, 135
read-write/read-only/write-only, defining, 131
set procedure, writing guidelines, 136
shared, defining, 134
syntax, 126
properties_bankaccount example
properties, 64
property accessors, 126
Property Pages dialog
setting namespaces, 298
protected access modifier
description, 38
protected accessibility level, 62
protected events, 242
protected internal access modifier
description, 38
protected internal accessibility level, 62
public accessibility level, 62
public classes, 37
public events, 242
public fields
dangerous and not recommended, 64
public key token
creating using Strong Name tool, 337
public keyword, 39
publickey property
manifest information, 337
public-private key pair
creating shared assemblies as strongly named assemblies, 335
creating using Strong Name tool, 335
publishing events, 239, 241
creating events that pass information, 248
defining your own registration methods
DelegatesEvents\CustomAddRemove example, 254
DelegatesEvents\SimpleEvent example, 241
dynamically registering and unregistering, 253
Event keyword, 239
raising the event, 246
registering to, 244
static events, 251