Free mag vol1 | Page 30

 CONTENTS Defining Member Parameters............................................................................................................... 672 Examining CIL Opcodes .................................................................................................673 The .maxstack Directive ....................................................................................................................... 675 Declaring Local Variables in CIL ........................................................................................................... 676 Mapping Parameters to Local Variables in CIL ..................................................................................... 677 The Hidden this Reference ................................................................................................................... 677 Representing Iteration Constructs in CIL .............................................................................................. 678 Building a .NET Assembly with CIL ................................................................................679 Building CILCars.dll............................................................................................................................... 679 Building CILCarClient.exe ..................................................................................................................... 681 Understanding Dynamic Assemblies .............................................................................683 Exploring the System.Reflection.Emit Namespace............................................................................... 684 The Role of the System.Reflection.Emit.ILGe nerator............................................................................ 685 Emitting a Dynamic Assembly .............................................................................................................. 686 Emitting the Assembly and Module Set................................................................................................ 688 The Role of the ModuleBuilder Type..................................................................................................... 689 Emitting the HelloClass Type and the String Member Variable ............................................................ 690 Emitting the Constructors..................................................................................................................... 691 Emitting the SayHello() Method ............................................................................................................ 692 Using the Dynamically Generated Assembly ........................................................................................ 692 Summary .......................................................................................................................693  Part VI: Introducing the .NET Base Class Libraries .............................................695  Chapter 19: Multithreaded, Parallel, and Async Programming ..........................697 The Process/AppDomain/Context/Thread Relationship .................................................697 The Problem of Concurrency ................................................................................................................ 698 The Role of Thread Synchronization..................................................................................................... 699 A Brief Review of the .NET Delegate..............................................................................699 xxviii