Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






CreateFile method, synchronous execution of


CreateFile method, synchronous execution of, 752

CreateInstanceAndUnwrap method, 564

CreateInstanceFrom method, 595

CreateInstance method, 383

Activator class, 594

AppDomain class, 595

Array class, 596

CreateMemoryResource notification, 519

CreateMutex method, 780

CreateProcess function, 557

CreateSemaphore method, 780

critical regions, 577

CriticalFinalizer object, 528

CriticalHandle class, 531

CSC.exe, 36

CSC.rsp, 36

CSP containers for public/private keys, 78 CTS (Common Type System), 24

CUI (Console User Interface) applications, 36 culture setting in assemblies, 59

CultureInfo class, 318

CultureInfo type, 326, 342

CurrentCulture property, 318, 326

CurrentUICulture property, 326

custom attributes, 421. See also attributes applying multiple times, 427

attribute objects, constructing, 431 AttributeUsage attribute, 428

class inheritance, 425, 428 conditional attribute classes, 440 constructors, 428

creating, 425

C# syntax for, 422 data types for, 428

defining attribute class, 425 defining classes for, 428 definition of, 424

derivation of, 424 detecting in code, 430

detecting in code, without executing, 437

detecting specific, 432

discovering, 602

enumerated types, 427

examples of, 422

as logical state containers, 425


matching against each other, 434 multiple, applying, 424

named parameters, 424

positional parameters, 424

prefixes, 423

public constructors, 427

security concerns, 437

serialization and, 429

suffix, omitting, 424, 425

syntax for, 424

targets for, 423

Visual Basic .NET syntax for, 423 CustomAttributeData class, 437

CustomAttributeExtensions class, 430

 

D

data collections, LINQ queries on, 717 data encapsulation, 228

data types, for custom attribute classes, 428.

See types DataContractSerializer class, 612

datatips, 339

date formatting, 341

dates and times, in WinRT, 647 DateTime

structure, 647

type, 349

DateTimeFormatInfo type, 343

DateTimeOffset structure, 647

deadlocks, 750, 761

debuggable attribute, 511 debuggers

generics and, 271

asynchronous I/O operations and, 731 threads and, 673

debugging

and garbage collections, 510 asynchronous functions, 745

exceptions, 490

decimal type, 112, 118

declaring delegates, 392

declaring methods, for variable number of arguments, 220

declaring properties, 231 in anonymous types, 238


832


Display method


Decoder class, 356 Decoding

bytes, 356

strings, 356

Decrement method, 791

decrypting SecureStrings, 360

dedicated threads, 679

default AppDomain, 556

default properties. See parameterful properties DefaultMember attribute, 246

DefaultParameterValue attribute, 212

defining

classes, 168

fields, without initialization, 184

properties, 230

types, 251

definition tables in metadata, 39

Delay method, 722

delayed signing, 76

Delegate class, 397

delegate fields, 257

delegate types

extension methods for, 202 serializing, 618



WinRT, 647

delegates, 249. See also callback functions adding/removing, 604

arrays, returning each reference in, 405 callback method, invoking, 399

calling back instance methods, 395 calling back static methods with, 394 calling private members with, 394 chaining, 400, 404

chaining, C# support for, 404 chaining, result variable and, 404 class defined by, 396, 397

constructors, 398

contravariant type parameters, 279 covariant type parameters, 279 creating, 392

defining, 408

definitions for, 407 extension methods and, 203 garbage collection, 401

generic, 278, 407

initialization of, 398


invariant type parameters, 279 invoking dynamically, 417

MulticastDelegate class, 397

reflection and, 416 removing from chains, 403 syntax, 408

syntax shortcuts for, 409, 410, 413 for tasks, passing, 715 unregistering, 260

Delete method, exceptions thrown by, 532 delete operator, 93

DeleteAsync method, 742

deploying assemblies, 60

privately, 79

derived class, 311, 312

derived types, preconditions and, 502 deserialization

of application state, 616 of collection objects, 622 controlling, 619

controlling data, 624

definition of, 611

formatter consistency, 615

ISerializable interface, 625 matching serialization method, 628 into object graphs, 615

of objects, as different objects, 633 overriding assembly/type, 640 quick start for, 613

setting up, 628

of singleton types, 633 streaming contexts for, 631 surrogates for, 636

type bindings, 641

of type instances, 624 Deserialize method, 635

DeserializeFromStream method, 615

deserializing objects, 182

diagnostics namespace, 688 dictionary type, serialization, 626 direct memory accesses, 386 DisableOptimizations flag, 511

disambiguating types, 99

DispatcherTimer classes, 723

DispatcherUnhandledException event, 488

Display method, 283


 
 



Dispose method


Dispose method, 260, 358, 512, 533, 648, 699

avoiding, 535

calling explicitly, 537

in finally block, 535

native resource cleanup and, 534 on Task objects, 708

WaitHandle class, 780

distributed applications, unhandled exceptions in, 488

DllMain method, 671 DLLs

interoperability of, 34 performance issues and, 672 thread-attach and thread-detach

notifications, 671

double-check locking, 807

double type, 112

downloading assemblies from web, 586 DumpBin.exe, 9

dynamic expressions, as object types, 147 dynamic keyword, 214

dynamic type, 112, 144

example of, 145

vs. var keyword, 146

dynamically extensible applications, 583 building, 588

Managed Extensibility Framework (MEF), 598 DynamicAttribute method, 145

DynamicInvoke method, 417

dynamification, 147

 

E

early binding, 589 encoding

explicitly constructing types, 353 methods, 355

stateless, 356

Encoding class, 352

properties, 352

encodings, 350

property values, 354

EndBackgroundProcessing, 755

EndsWith method, comparing strings, 325 EndWaitForConnection method, 743

EndXxx method, 481


EnsureCapacity method, 337

EnsureInitialized method, 811

EnsureSufficientExecutionStack method, 489

Enter method, 790

overloading, discouraged, 476

Monitor class, 795, 797

Enum class, 362

Enum type, 364

enumerated type, 361

bit flags, defining with, 368 classes derived from, 362 converting symbols into, 366 converting values into flags, 370 declaring, 363

defined symbols in, 370 defining, 367

displaying all values for, 365 extension methods for, 202 formatting, 364

IsDefined method and, 371 mapping to strings, 364 methods, adding, 371

with multiple symbols, 364 parameter validation, 366 as primitive types, 363 serializing, 618

structure of, 362

symbols as constant fields, 362, 363

underlying types for, 363 user interface display of, 365

enumerating types, 588 enumeration types, in WinRT, 646

ephemeral garbage collector. See garbage collection

epilogue code, 102

equality operators, nullable types and, 444 Equals method, 139, 238, 332, 338, 355

overriding, 140, 141

properties of, 141

System.Object, 92

error messages, 157

errors. See exceptions; exception handling escalation policy, 577

event handlers

asynchronous functions and, 741 class naming convention, 251



Exceptions


code contract violations and, 500 method signatures, 741

void return type, 253

event log, viewing unhandled exceptions in, 485

EventArgs class, 251

EventAwaiter class, 741

EventDef table, 39

EventHandler delegate type (WinRT), 647 EventHandlersStore type, 262

EventInfo type, 604

events, 249, 782

_add prefix, 257

architecting applications for, 250 auto-reset, 784

compiler implementation of, 256

defined, 24, 152

delegates, 249

delegates, adding/removing, 604 designing types to expose, 250 explicitly implementing, 260

members, defining, 252

metadata on, 604

notification for, 253

notifications, unregistering, 260

Object type, 252

as primitive kernel-mode thread synchronization constructs, 778

raising, in thread-safe way, 254 types for listening, 258

typing the return parameter, 253 typing the sender parameter, 252 unregistering, 260

unregistering interest from objects, 257 WinRT, 647

EventSet class, 262

EventWaitHandle class, 780

Exception class, 460

exception-derived types, hierarchy of, 593 exception handling

assuming exceptions will occur, 470 asynchronous functions and, 744 backing out of partial operations, 482 best practices, 478

catch blocks, 455, 480


for class library developers vs. application developers, 478, 485

CLS objects, 458

defined, 453

differing implementations of, 492 example code for, 453

exceptions thrown by, 457

finally blocks, 456, 478

guidelines, 478, 485

for high error rate methods, 493 language for, 457

localizing string messages, 467 managed compilers and, 492 mechanics of, 453

migrating code for, 459 non-CLS objects, 458

notifications for, 456

performance issues, 492

problems with, 477 programming culture and, 473 reflection and, 485

Reliability Monitor problem signatures, 487 reliability vs. productivity, 469

resetting exception starting point, 462 stack tracing, 461, 462, 463

state corruption and, 474

state corruption, mitigating, 475 System.Exception type, 460

testing with Performance Monitor, 493 thread synchronization locks and, 476 try blocks, 454

TryParse method and, 494 viewing exception objects, 455 Windows Error Reporting, 488

Exception objects, avoiding throwing, 466 exceptions

adding types to Visual Studio debugger, 491 asynchronous, 495

catching all, when to, 482 catching specific, when to, 483 class derivation of, 469

for code contract violations, 500 in critical regions, 577 debugging, 490

defined, 452

defining custom classes for, 467


 
 



Exceptions dialog box (Visual Studio)


exceptions (continued)

designing for, 453

FCL-defined classes, 463

locating source of, 484

maintaining method contracts after, 483 potential sources of, 471

processing, 573

recovering gracefully from, 481 re-throwing, 480, 482

re-throwing different exception, 483 serializable, 467

System.Exception type properties, 460 throwing, 466

types, 463, 466

unhandled, 474, 480, 485, 488

versioning issues, 466

WinRT and, 647

Exceptions dialog box (Visual Studio), 490 Exchange method, 769

executable applications, AppDomains and, 574

executable files. See also PE (portable

executable) files 32-bit vs. 64-bit, 9 compiling, 35

ExecuteCodeWithGuaranteedCleanup method, 497

ExecuteDbDataReaderAsync method, 742

ExecuteNonQueryAsync method, 742

ExecuteReaderAsync method, 742

ExecuteScalarAsync method, 742

ExecuteXmlReaderAsync method, 742 executing assembly code, 11 execution context, 694

controlling, 695

ExecutionContext class, 695 helper threads and, 695 performance issues and, 695 suppressing, 695

Exit method, 574

Monitor class, 795, 813

expanding characters, 327

ExpandoObject class, 242

explicit interface method implementations (EIMIs), 303, 308, 310

explicit methods, state corruption and, 476 explicit type casts, 114


explicitly implementing events, 260 ExportedTypesDef table, 47

exposing events, designing types for, 250 exposing state, 168

expressions, casting to dynamic, 145 Extensible Storage Engine, 477 extension attribute, 203

extension methods, 198, 201, 362

advantages of, 199

declaring, 200

defining, 255

for delegate types, 202 displaying list of, 200

for enumerated types, 202 for interface types, 202 LINQ technology, 202

multiple, avoiding, 201

for passing data between CLR and WinRT, 657

performance issues, 201 rules and guidelines for, 200 versioning and, 201

ExtensionAttribute class, 203

 

F

factories, task, 709

FailFast method, 477, 480

Family and Assembly accessibility, 157 FaxMsg method, 259

FCL (Framework Class Library), 22 exceptions defined by, 463 generics in, 270

hybrid constructs in, 793 thread safety, 759

unhandled exception documentation, 488 WinRT supported types, 645

FCL types

vs. primitive types, 113

with corresponding primitive types, 112 FeedbackToConsole method, 394

FeedbackToFile method, 396

FeedbackToMsgBox method, 394 field layout for types, 123 FieldDef table, 39

FieldGetter method, 566



FxCopCmd.exe


FieldInfo objects, converting to RunTimeFieldHandle, 609

fields

backing, 230

in boxed value types, changing, 136

defined, 24, 151, 177

defining, 178

defining, without initialization, 184

encapsulating, 228

initializing, 182, 187

initializing, with convenient syntax, 183 inline initialization, 179

modifiers for, 177

private, 168, 228, 231

FieldSetter method, 566

file extensions

for WinRT components, 644

.winmdobj, 659

file names, WinRT, 645

file versioning, difficulties with, 66

FileAttributes type, 367

FileDef table, 47, 81

FileNotFoundException exception, 584 FileStream

class, 532

I/O operations and, 728

objects, asynchronous and synchronous operations with, 753

type, 525, 537

finalization, 525, 542

garbage collection and, 544 list, 542

freachable queue and, 544 Finalize method, 525, 526, 542

CLR thread dedicated to, 544 inherited, 543

memory leaks and, 526 overriding, 479

similarity to destructor, 526 System.Object, 92

finally blocks, 455, 456. See also catch blocks; try blocks

as callback methods, 497

constrained execution regions and, 475


Dispose method in, 535 exceptions thrown by, 457 liberal use of, 478

try blocks and, 457 FirstChanceException event, 573

fixed statement, 548

Flags attribute, 368

FlagsAttribute class, 430

Flatten method, 703

float type, 112

FlushAsync method, 742

For method (Parallel class), 713, 714

ForAll method, 718

forcing garbage collection, 522, 539

ForEach method (Parallel class), 713, 714 foreground threads

forcing, 679

vs. background, 688

Format method, 344, 364

overloading, 344

vs. ToString method, 364 FormatterConverter type, 628

FormatterServices type, 623, 628

Formatting, strings, 346

Forms namespace, Timer class, 723 Framework Class Library. See FCL (Framework

Class Library)

asynchronous functions in, 742 types. See FCL types

framework projections, 645, 649

freachable queue, 543 finalization list and, 544 naming of, 544

Free method, 548

friend assemblies, 154

modules in, 156

friendly names, 563

FromAsync method, 743

FromBase64String method, 356 FromCurrentSynchronizationContext

method, 711

Func delegate, 279, 408

functions, callback. See callback functions FxCopCmd.exe, 480


 
 

 

 




GAC (global assembly cache)

G

GAC (global assembly cache), 72 installing into, 72

permissions required for, 73 uninstalling assemblies from, 73

GACUtil.exe, 72

Windows install switch, 73 garbage collection, 507

algorithm, 507

asynchronous I/O operations and, 731 for bitmaps, 538

byte array method and, 548 Collect method, 523

compacting phase, 509

concurrent vs. non-concurrent mode, 521 debugging and, 510

dependency issues, 537

Dispose method, 512 vs. Dispose method, 535

finalized objects and, 544 Finalize method and, 526 forcing, 522, 539

generational, 513

generational, assumptions made by, 514 generations and, 513

handle tables, 545, 547 idle threads and, 517 large objects and, 519 latency modes, 522

lease managers, 567

marking phase, 508 memory budgeting and, 517 memory compacting, 521

memory usage, monitoring, 524 monitoring, 524

native resources and, 538 notifications for, 518, 523 object lifetime and, 510

object lifetime, controlling manually, 545 OutOfMemory exceptions, 510

performance goals, 515

pinning objects, 548


 

 

reference counting algorithms, 508 resurrected objects, 544

roots and, 509

server mode, 520

symbols for, 522

threads and, 673 Timer objects and, 721 triggers for, 519

for types wrapping native resources, 525 on unloaded AppDomains, 571

weak references and, 550 workstation mode, 520

GCCollectionMode enumerated type, 523 GCHandle type, 545

explicit, 548

GCHandleType type, 546

GCLatencyMode property, 521

GCNotification class, 518

GCSettings class, 521

GCWatch method, 551

generation,1, 2, 513, 514, 516

growth of, 516

promotions to, 515 generic

arguments, limiting types, 285 collection classes, 125, 270 contravariant and covariant type

parameters, 281

delegates, 278, 407

interfaces, 277, 278, 297, 303

list algorithm, 266

namespace, 313

vs. non-generic versions, 304 type identity, 275

type parameters, 305

generic methods, 265, 281

example of, 282

overriding, 286

static, 270

type inference and, 283 generic type variables

as operands, 292

casting, 290


 



Date: 2016-03-03; view: 800


<== previous page | next page ==>
CollectionCount method | GetWindowsRuntimeBuffer method
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.021 sec.)