﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ILGenerator" FullName="System.Reflection.Emit.ILGenerator"><TypeSignature Maintainer="auto" Language="C#" Value="public class ILGenerator : System.Runtime.InteropServices._ILGenerator" /><TypeSignature Language="ILAsm" Value=".class public sequential ansi beforefieldinit ILGenerator extends System.Object implements class System.Runtime.InteropServices._ILGenerator" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.Runtime.InteropServices._ILGenerator</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComDefaultInterface(typeof(System.Runtime.InteropServices._ILGenerator))</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="T:System.Reflection.Emit.ILGenerator" /> is used to generate method bodies for methods and constructors in dynamic assemblies (represented by the <see cref="T:System.Reflection.Emit.MethodBuilder" /> and <see cref="T:System.Reflection.Emit.ConstructorBuilder" /> classes) and for standalone dynamic methods (represented by the <see cref="T:System.Reflection.Emit.DynamicMethod" /> class). To obtain an <see cref="T:System.Reflection.Emit.ILGenerator" />, use the <see cref="M:System.Reflection.Emit.ConstructorBuilder.GetILGenerator" />, <see cref="M:System.Reflection.Emit.DynamicMethod.GetILGenerator" />, and <see cref="M:System.Reflection.Emit.MethodBuilder.GetILGenerator" /> methods.</para><para>MSIL is used as input to a just-in-time (JIT) compiler.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Generates Microsoft intermediate language (MSIL) instructions.</para></summary></Docs><Members><Member MemberName="BeginCatchBlock"><MemberSignature Language="C#" Value="public virtual void BeginCatchBlock (Type exceptionType);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BeginCatchBlock(class System.Type exceptionType) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="exceptionType" Type="System.Type" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Emits a branch instruction to the end of the current exception block.</para><block subset="none" type="note"><para>If the filter exception block returns the constant exception_execute_handler (see the documentation for the Common Language Infrastructure Instruction Set), the argument to the BeginCatchBlock is not checked.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins a catch block.</para></summary><param name="exceptionType"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> object that represents the exception. </param></Docs></Member><Member MemberName="BeginExceptFilterBlock"><MemberSignature Language="C#" Value="public virtual void BeginExceptFilterBlock ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BeginExceptFilterBlock() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Emits a branch instruction to the end of the current exception block.</para><para>If the current <see cref="T:System.Reflection.Emit.ILGenerator" /> is associated with a <see cref="T:System.Reflection.Emit.DynamicMethod" /> object, emitting filtered exception blocks is not supported. <see cref="T:System.Reflection.Emit.DynamicILInfo" /> can be used to construct a dynamic method that uses filtered exception blocks.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins an exception block for a filtered exception.</para></summary></Docs></Member><Member MemberName="BeginExceptionBlock"><MemberSignature Language="C#" Value="public virtual System.Reflection.Emit.Label BeginExceptionBlock ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.Reflection.Emit.Label BeginExceptionBlock() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.Emit.Label</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Creating an exception block records some information, but does not actually emit any Microsoft intermediate language (MSIL) onto the stream.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins an exception block for a non-filtered exception.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The label for the end of the block. This will leave you in the correct place to execute finally blocks or to finish the try.</para></returns></Docs></Member><Member MemberName="BeginFaultBlock"><MemberSignature Language="C#" Value="public virtual void BeginFaultBlock ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BeginFaultBlock() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the current <see cref="T:System.Reflection.Emit.ILGenerator" /> is associated with a <see cref="T:System.Reflection.Emit.DynamicMethod" /> object, emitting exception fault blocks is not supported. <see cref="T:System.Reflection.Emit.DynamicILInfo" /> can be used to construct a dynamic method that uses exception fault blocks.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins an exception fault block in the Microsoft intermediate language (MSIL) stream.</para></summary></Docs></Member><Member MemberName="BeginFinallyBlock"><MemberSignature Language="C#" Value="public virtual void BeginFinallyBlock ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BeginFinallyBlock() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks>Code that was protected by the <see cref="M:System.Reflectoin.Emit.ILGenerator.BeginExceptionBlock()" /> will always execude the code following this point.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.</para></summary></Docs></Member><Member MemberName="BeginScope"><MemberSignature Language="C#" Value="public virtual void BeginScope ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BeginScope() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is used to emit symbolic information. Local variables declared after <see cref="M:System.Reflection.Emit.ILGenerator.BeginScope" /> are scoped until the corresponding <see cref="M:System.Reflection.Emit.ILGenerator.EndScope" /> is called.</para><para>If the current <see cref="T:System.Reflection.Emit.ILGenerator" /> is associated with a <see cref="T:System.Reflection.Emit.DynamicMethod" /> object, it does not support symbolic information.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins a lexical scope.</para></summary></Docs></Member><Member MemberName="DeclareLocal"><MemberSignature Language="C#" Value="public virtual System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Reflection.Emit.LocalBuilder DeclareLocal(class System.Type localType) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.Emit.LocalBuilder</ReturnType></ReturnValue><Parameters><Parameter Name="localType" Type="System.Type" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The local variable is created in the current lexical scope; for example, if code is being emitted in a for loop (For loop in Visual Basic), the scope of the variable is the loop.</para><para>A local variable created with this overload is not pinned. To create a pinned variable for use with unmanaged pointers, use the <see cref="M:System.Reflection.Emit.ILGenerator.DeclareLocal(System.Type,System.Boolean)" /> method overload.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Declares a local variable of the specified type.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The declared local variable.</para></returns><param name="localType"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Type" /> object that represents the type of the local variable. </param></Docs></Member><Member MemberName="DeclareLocal"><MemberSignature Language="C#" Value="public virtual System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType, bool pinned);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Reflection.Emit.LocalBuilder DeclareLocal(class System.Type localType, bool pinned) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.Emit.LocalBuilder</ReturnType></ReturnValue><Parameters><Parameter Name="localType" Type="System.Type" /><Parameter Name="pinned" Type="System.Boolean" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The local variable is created in the current lexical scope; for example, if code is being emitted in a for loop (For loop in Visual Basic), the scope of the variable is the loop.</para><para>In unsafe code, an object must be pinned before it can be referred to by an unmanaged pointer. While the referenced object is pinned, it cannot be moved by garbage collection.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Declares a local variable of the specified type, optionally pinning the object referred to by the variable.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.Reflection.Emit.LocalBuilder" /> object that represents the local variable.</para></returns><param name="localType"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Type" /> object that represents the type of the local variable.</param><param name="pinned"><attribution license="cc4" from="Microsoft" modified="false" />true to pin the object in memory; otherwise, false.</param></Docs></Member><Member MemberName="DefineLabel"><MemberSignature Language="C#" Value="public virtual System.Reflection.Emit.Label DefineLabel ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.Reflection.Emit.Label DefineLabel() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.Emit.Label</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>To set the position of the label within the stream, you must call <see cref="M:System.Reflection.Emit.ILGenerator.MarkLabel(System.Reflection.Emit.Label)" />.</para><para>This is just a token and does not yet represent any particular location within the stream.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Declares a new label.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a new label that can be used as a token for branching.</para></returns></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the <paramref name="opcode" /> parameter requires an argument, the caller must ensure that the argument length matches the length of the declared parameter. Otherwise, results will be unpredictable. For example, if the Emit instruction requires a 2-byte operand and the caller supplies a 4-byte operand, the runtime will emit two additional bytes to the instruction stream. These extra bytes will be <see cref="F:System.Reflection.Emit.OpCodes.Nop" /> instructions.</para><para>The instruction values are defined in <see cref="T:System.Reflection.Emit.OpCodes" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction onto the stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The Microsoft Intermediate Language (MSIL) instruction to be put onto the stream. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, byte arg);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, unsigned int8 arg) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="arg" Type="System.Byte" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be put onto the stream. </param><param name="arg"><attribution license="cc4" from="Microsoft" modified="false" />The character argument pushed onto the stream immediately after the instruction. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, double arg);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, float64 arg) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="arg" Type="System.Double" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be put onto the stream. Defined in the OpCodes enumeration. </param><param name="arg"><attribution license="cc4" from="Microsoft" modified="false" />The numerical argument pushed onto the stream immediately after the instruction. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, short arg);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, int16 arg) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="arg" Type="System.Int16" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="arg"><attribution license="cc4" from="Microsoft" modified="false" />The Int argument pushed onto the stream immediately after the instruction. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, int arg);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, int32 arg) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="arg" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be put onto the stream. </param><param name="arg"><attribution license="cc4" from="Microsoft" modified="false" />The numerical argument pushed onto the stream immediately after the instruction. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, long arg);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, int64 arg) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="arg" Type="System.Int64" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be put onto the stream. </param><param name="arg"><attribution license="cc4" from="Microsoft" modified="false" />The numerical argument pushed onto the stream immediately after the instruction. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, System.Reflection.ConstructorInfo con);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, class System.Reflection.ConstructorInfo con) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="con" Type="System.Reflection.ConstructorInfo" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para><para>The location of <paramref name="con" /> is recorded so that the instruction stream can be patched if necessary when persisting the module to a portable executable (PE) file.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and metadata token for the specified constructor onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="con"><attribution license="cc4" from="Microsoft" modified="false" />A ConstructorInfo representing a constructor. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, System.Reflection.Emit.Label label);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, valuetype System.Reflection.Emit.Label label) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="label" Type="System.Reflection.Emit.Label" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para><para>Labels are created using <see cref="M:System.Reflection.Emit.ILGenerator.DefineLabel" />, and their location within the stream is fixed by using <see cref="M:System.Reflection.Emit.ILGenerator.MarkLabel(System.Reflection.Emit.Label)" />. If a single-byte instruction is used, the label can represent a jump of at most 127 bytes along the stream. <paramref name="opcode" /> must represent a branch instruction. Because branches are relative instructions, <paramref name="label" /> will be replaced with the correct offset to branch during the fixup process.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="label"><attribution license="cc4" from="Microsoft" modified="false" />The label to which to branch from this location. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, System.Reflection.Emit.Label[] labels);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, valuetype System.Reflection.Emit.Label[] labels) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="labels" Type="System.Reflection.Emit.Label[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Emits a switch table.</para><para>The instruction values are defined in the OpCodes enumeration.</para><para>Labels are created using <see cref="M:System.Reflection.Emit.ILGenerator.DefineLabel" /> and their location within the stream is fixed by using <see cref="M:System.Reflection.Emit.ILGenerator.MarkLabel(System.Reflection.Emit.Label)" />. If a single-byte instruction is used, the label can represent a jump of at most 127 bytes along the stream. <paramref name="opcode" /> must represent a branch instruction. Because branches are relative instructions, <paramref name="label" /> will be replaced with the correct offset to branch during the fixup process.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="labels"><attribution license="cc4" from="Microsoft" modified="false" />The array of label objects to which to branch from this location. All of the labels will be used. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, System.Reflection.Emit.LocalBuilder local);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, class System.Reflection.Emit.LocalBuilder local) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="local" Type="System.Reflection.Emit.LocalBuilder" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the index of the given local variable.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="local"><attribution license="cc4" from="Microsoft" modified="false" />A local variable. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, System.Reflection.Emit.SignatureHelper signature);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, class System.Reflection.Emit.SignatureHelper signature) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="signature" Type="System.Reflection.Emit.SignatureHelper" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and a signature token onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="signature"><attribution license="cc4" from="Microsoft" modified="false" />A helper for constructing a signature token. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, System.Reflection.FieldInfo field);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, class System.Reflection.FieldInfo field) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="field" Type="System.Reflection.FieldInfo" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration. The location of <paramref name="field" /> is recorded so that the instruction stream can be patched if necessary when persisting the module to a portable executable (PE) file.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and metadata token for the specified field onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="field"><attribution license="cc4" from="Microsoft" modified="false" />A FieldInfo representing a field. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, System.Reflection.MethodInfo meth);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, class System.Reflection.MethodInfo meth) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="meth" Type="System.Reflection.MethodInfo" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para><para>The location of <paramref name="meth" /> is recorded so that the instruction stream can be patched if necessary when persisting the module to a portable executable (PE) file.</para><para>If <paramref name="meth" /> represents a generic method, it must be a generic method definition. That is, its <see cref="P:System.Reflection.MethodInfo.IsGenericMethodDefinition" /> property must be true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given method.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="meth"><attribution license="cc4" from="Microsoft" modified="false" />A MethodInfo representing a method. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public void Emit (System.Reflection.Emit.OpCode opcode, sbyte arg);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, int8 arg) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.CLSCompliant(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="arg" Type="System.SByte" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be put onto the stream. </param><param name="arg"><attribution license="cc4" from="Microsoft" modified="false" />The character argument pushed onto the stream immediately after the instruction. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, float arg);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, float32 arg) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="arg" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be put onto the stream. </param><param name="arg"><attribution license="cc4" from="Microsoft" modified="false" />The Single argument pushed onto the stream immediately after the instruction. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, string str);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, string str) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="str" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration. The location of <paramref name="str" /> is recorded for future fixups if the module is persisted to a portable executable (PE) file.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given string.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. </param><param name="str"><attribution license="cc4" from="Microsoft" modified="false" />The String to be emitted. </param></Docs></Member><Member MemberName="Emit"><MemberSignature Language="C#" Value="public virtual void Emit (System.Reflection.Emit.OpCode opcode, Type cls);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Emit(valuetype System.Reflection.Emit.OpCode opcode, class System.Type cls) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="cls" Type="System.Type" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The instruction values are defined in the OpCodes enumeration. The location of <paramref name="cls" /> is recorded so that the token can be patched if necessary when persisting the module to a portable executable (PE) file.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given type.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be put onto the stream. </param><param name="cls"><attribution license="cc4" from="Microsoft" modified="false" />A Type. </param></Docs></Member><Member MemberName="EmitCall"><MemberSignature Language="C#" Value="public virtual void EmitCall (System.Reflection.Emit.OpCode opcode, System.Reflection.MethodInfo methodInfo, Type[] optionalParameterTypes);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitCall(valuetype System.Reflection.Emit.OpCode opcode, class System.Reflection.MethodInfo methodInfo, class System.Type[] optionalParameterTypes) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="methodInfo" Type="System.Reflection.MethodInfo" /><Parameter Name="optionalParameterTypes" Type="System.Type[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])" /> method is used to emit calls to varargs methods because there is no overload of the <see cref="Overload:System.Reflection.Emit.ILGenerator.Emit" /> method that specifies the parameter types of the variable arguments.</para><para>To emit calls to methods that do not use the <see cref="F:System.Reflection.CallingConventions.VarArgs" /> calling convention, use the <see cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)" /> method overload. </para><format type="text/html"><h2>Version Information</h2></format><para>Beginning with the .NET Framework version 2.0, the <see cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])" /> method does not throw an exception when optional parameter types are specified for a method that is not varargs. <see cref="T:System.InvalidProgramException" /> is thrown when the call is executed. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts a call or callvirt instruction onto the Microsoft intermediate language (MSIL) stream to call a varargs method.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. Must be <see cref="F:System.Reflection.Emit.OpCodes.Call" />, <see cref="F:System.Reflection.Emit.OpCodes.Callvirt" />, or <see cref="F:System.Reflection.Emit.OpCodes.Newobj" />.</param><param name="methodInfo"><attribution license="cc4" from="Microsoft" modified="false" />The varargs method to be called. </param><param name="optionalParameterTypes"><attribution license="cc4" from="Microsoft" modified="false" />The types of the optional arguments if the method is a varargs method; otherwise, null. </param></Docs></Member><Member MemberName="EmitCalli"><MemberSignature Language="C#" Value="public virtual void EmitCalli (System.Reflection.Emit.OpCode opcode, System.Runtime.InteropServices.CallingConvention unmanagedCallConv, Type returnType, Type[] parameterTypes);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitCalli(valuetype System.Reflection.Emit.OpCode opcode, valuetype System.Runtime.InteropServices.CallingConvention unmanagedCallConv, class System.Type returnType, class System.Type[] parameterTypes) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="unmanagedCallConv" Type="System.Runtime.InteropServices.CallingConvention" /><Parameter Name="returnType" Type="System.Type" /><Parameter Name="parameterTypes" Type="System.Type[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use <see cref="M:System.Reflection.Emit.ILGenerator.EmitCalli(System.Reflection.Emit.OpCode,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[])" /> to put a <see cref="F:System.Reflection.Emit.OpCodes.Calli" /> instruction onto the stream. Do not use <see cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts a <see cref="F:System.Reflection.Emit.OpCodes.Calli" /> instruction onto the Microsoft intermediate language (MSIL) stream, specifying an unmanaged calling convention for the indirect call.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. Must be <see cref="F:System.Reflection.Emit.OpCodes.Calli" />.</param><param name="unmanagedCallConv"><attribution license="cc4" from="Microsoft" modified="false" />The unmanaged calling convention to be used. </param><param name="returnType"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of the result. </param><param name="parameterTypes"><attribution license="cc4" from="Microsoft" modified="false" />The types of the required arguments to the instruction. </param></Docs></Member><Member MemberName="EmitCalli"><MemberSignature Language="C#" Value="public virtual void EmitCalli (System.Reflection.Emit.OpCode opcode, System.Reflection.CallingConventions callingConvention, Type returnType, Type[] parameterTypes, Type[] optionalParameterTypes);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitCalli(valuetype System.Reflection.Emit.OpCode opcode, valuetype System.Reflection.CallingConventions callingConvention, class System.Type returnType, class System.Type[] parameterTypes, class System.Type[] optionalParameterTypes) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="opcode" Type="System.Reflection.Emit.OpCode" /><Parameter Name="callingConvention" Type="System.Reflection.CallingConventions" /><Parameter Name="returnType" Type="System.Type" /><Parameter Name="parameterTypes" Type="System.Type[]" /><Parameter Name="optionalParameterTypes" Type="System.Type[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use <see cref="M:System.Reflection.Emit.ILGenerator.EmitCalli(System.Reflection.Emit.OpCode,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[])" /> to put a <see cref="F:System.Reflection.Emit.OpCodes.Calli" /> instruction onto the stream. Do not use <see cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)" />.</para><para>If <paramref name="optionalParameterTypes" /> specifies optional arguments, <paramref name="callingConvention" /> must include the <see cref="F:System.Reflection.CallingConventions.VarArgs" /> flag.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Puts a <see cref="F:System.Reflection.Emit.OpCodes.Calli" /> instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call.</para></summary><param name="opcode"><attribution license="cc4" from="Microsoft" modified="false" />The MSIL instruction to be emitted onto the stream. Must be <see cref="F:System.Reflection.Emit.OpCodes.Calli" />. </param><param name="callingConvention"><attribution license="cc4" from="Microsoft" modified="false" />The managed calling convention to be used. </param><param name="returnType"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of the result. </param><param name="parameterTypes"><attribution license="cc4" from="Microsoft" modified="false" />The types of the required arguments to the instruction. </param><param name="optionalParameterTypes"><attribution license="cc4" from="Microsoft" modified="false" />The types of the optional arguments for varargs calls. </param></Docs></Member><Member MemberName="EmitWriteLine"><MemberSignature Language="C#" Value="public virtual void EmitWriteLine (System.Reflection.Emit.LocalBuilder localBuilder);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitWriteLine(class System.Reflection.Emit.LocalBuilder localBuilder) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="localBuilder" Type="System.Reflection.Emit.LocalBuilder" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The type of <paramref name="localBuilder" /> must match the parameter type of an overload of the <see cref="Overload:System.Console.WriteLine" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Emits the Microsoft intermediate language (MSIL) necessary to call <see cref="Overload:System.Console.WriteLine" /> with the given local variable.</para></summary><param name="localBuilder"><attribution license="cc4" from="Microsoft" modified="false" />The local variable whose value is to be written to the console. </param></Docs></Member><Member MemberName="EmitWriteLine"><MemberSignature Language="C#" Value="public virtual void EmitWriteLine (System.Reflection.FieldInfo fld);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitWriteLine(class System.Reflection.FieldInfo fld) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="fld" Type="System.Reflection.FieldInfo" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The type of <paramref name="fld" /> must match the parameter type of an overload of the <see cref="Overload:System.Console.WriteLine" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Emits the Microsoft intermediate language (MSIL) necessary to call <see cref="Overload:System.Console.WriteLine" /> with the given field.</para></summary><param name="fld"><attribution license="cc4" from="Microsoft" modified="false" />The field whose value is to be written to the console. </param></Docs></Member><Member MemberName="EmitWriteLine"><MemberSignature Language="C#" Value="public virtual void EmitWriteLine (string value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EmitWriteLine(string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="value" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The string must have already been defined.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Emits the Microsoft intermediate language (MSIL) to call <see cref="Overload:System.Console.WriteLine" /> with a string.</para></summary><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The string to be printed. </param></Docs></Member><Member MemberName="EndExceptionBlock"><MemberSignature Language="C#" Value="public virtual void EndExceptionBlock ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EndExceptionBlock() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks>This terminates an exception block that was started with <see cref="M:System.Reflection.Emit.BeginExceptionBlock" />.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Ends an exception block.</para></summary></Docs></Member><Member MemberName="EndScope"><MemberSignature Language="C#" Value="public virtual void EndScope ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EndScope() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is used to emit symbolic information. It is used with <see cref="M:System.Reflection.Emit.ILGenerator.BeginScope" />.</para><para>If the current <see cref="T:System.Reflection.Emit.ILGenerator" /> is associated with a <see cref="T:System.Reflection.Emit.DynamicMethod" /> object, it does not support symbolic information.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Ends a lexical scope.</para></summary></Docs></Member><Member MemberName="ILOffset"><MemberSignature Language="C#" Value="public virtual int ILOffset { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 ILOffset" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is transparent, and can be called from partially trusted code.</para><para>If the <see cref="P:System.Reflection.Emit.ILGenerator.ILOffset" /> property is accessed before any MSIL instructions have been emitted, it returns 0 (zero).</para><para>When MSIL is generated for dynamic languages, this property can be used to map offsets in the MSIL stream to source code line numbers. The resulting information can be used to provide stack traces when exceptions are thrown. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the current offset, in bytes, in the Microsoft intermediate language (MSIL) stream that is being emitted by the <see cref="T:System.Reflection.Emit.ILGenerator" />.</para></summary></Docs></Member><Member MemberName="MarkLabel"><MemberSignature Language="C#" Value="public virtual void MarkLabel (System.Reflection.Emit.Label loc);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void MarkLabel(valuetype System.Reflection.Emit.Label loc) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="loc" Type="System.Reflection.Emit.Label" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A label cannot be defined more than once.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Marks the Microsoft intermediate language (MSIL) stream's current position with the given label.</para></summary><param name="loc"><attribution license="cc4" from="Microsoft" modified="false" />The label for which to set an index. </param></Docs></Member><Member MemberName="MarkSequencePoint"><MemberSignature Language="C#" Value="public virtual void MarkSequencePoint (System.Diagnostics.SymbolStore.ISymbolDocumentWriter document, int startLine, int startColumn, int endLine, int endColumn);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void MarkSequencePoint(class System.Diagnostics.SymbolStore.ISymbolDocumentWriter document, int32 startLine, int32 startColumn, int32 endLine, int32 endColumn) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="document" Type="System.Diagnostics.SymbolStore.ISymbolDocumentWriter" /><Parameter Name="startLine" Type="System.Int32" /><Parameter Name="startColumn" Type="System.Int32" /><Parameter Name="endLine" Type="System.Int32" /><Parameter Name="endColumn" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Line numbers are indexed from 1. Columns are indexed from 0.</para><para>The symbolic information normally includes at least one MSIL offset for each source line. When the just-in-time (JIT) compiler is about to compile a method, it asks the profiling services for a list of MSIL offsets that should be preserved. These MSIL offsets are called <newTerm>sequence points</newTerm>.</para><para>If the current <see cref="T:System.Reflection.Emit.ILGenerator" /> is associated with a <see cref="T:System.Reflection.Emit.DynamicMethod" /> object, it does not support symbolic information.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Marks a sequence point in the Microsoft intermediate language (MSIL) stream.</para></summary><param name="document"><attribution license="cc4" from="Microsoft" modified="false" />The document for which the sequence point is being defined. </param><param name="startLine"><attribution license="cc4" from="Microsoft" modified="false" />The line where the sequence point begins. </param><param name="startColumn"><attribution license="cc4" from="Microsoft" modified="false" />The column in the line where the sequence point begins. </param><param name="endLine"><attribution license="cc4" from="Microsoft" modified="false" />The line where the sequence point ends. </param><param name="endColumn"><attribution license="cc4" from="Microsoft" modified="false" />The column in the line where the sequence point ends. </param></Docs></Member><Member MemberName="System.Runtime.InteropServices._ILGenerator.GetIDsOfNames"><MemberSignature Language="C#" Value="void _ILGenerator.GetIDsOfNames (ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ILGenerator.GetIDsOfNames(valuetype System.Guid riid, native int rgszNames, unsigned int32 cNames, unsigned int32 lcid, native int rgDispId) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="riid" Type="System.Guid&amp;" RefType="ref" /><Parameter Name="rgszNames" Type="System.IntPtr" /><Parameter Name="cNames" Type="System.UInt32" /><Parameter Name="lcid" Type="System.UInt32" /><Parameter Name="rgDispId" Type="System.IntPtr" /></Parameters><Docs><param name="riid">To be added.</param><param name="rgszNames">To be added.</param><param name="cNames">To be added.</param><param name="lcid">To be added.</param><param name="rgDispId">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="System.Runtime.InteropServices._ILGenerator.GetTypeInfo"><MemberSignature Language="C#" Value="void _ILGenerator.GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ILGenerator.GetTypeInfo(unsigned int32 iTInfo, unsigned int32 lcid, native int ppTInfo) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="iTInfo" Type="System.UInt32" /><Parameter Name="lcid" Type="System.UInt32" /><Parameter Name="ppTInfo" Type="System.IntPtr" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is for accessing managed classes from unmanaged code, and should not be called from managed code. For more information about <unmanagedCodeEntityReference>IDispatch::GetTypeInfo</unmanagedCodeEntityReference>, see the MSDN Library.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves the type information for an object, which can then be used to get the type information for an interface.</para></summary><param name="iTInfo"><attribution license="cc4" from="Microsoft" modified="false" />The type information to return.</param><param name="lcid"><attribution license="cc4" from="Microsoft" modified="false" />The locale identifier for the type information.</param><param name="ppTInfo"><attribution license="cc4" from="Microsoft" modified="false" />Receives a pointer to the requested type information object.</param></Docs></Member><Member MemberName="System.Runtime.InteropServices._ILGenerator.GetTypeInfoCount"><MemberSignature Language="C#" Value="void _ILGenerator.GetTypeInfoCount (out uint pcTInfo);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ILGenerator.GetTypeInfoCount(unsigned int32 pcTInfo) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="pcTInfo" Type="System.UInt32&amp;" RefType="out" /></Parameters><Docs><param name="pcTInfo">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="System.Runtime.InteropServices._ILGenerator.Invoke"><MemberSignature Language="C#" Value="void _ILGenerator.Invoke (uint dispIdMember, ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ILGenerator.Invoke(unsigned int32 dispIdMember, valuetype System.Guid riid, unsigned int32 lcid, int16 wFlags, native int pDispParams, native int pVarResult, native int pExcepInfo, native int puArgErr) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="dispIdMember" Type="System.UInt32" /><Parameter Name="riid" Type="System.Guid&amp;" RefType="ref" /><Parameter Name="lcid" Type="System.UInt32" /><Parameter Name="wFlags" Type="System.Int16" /><Parameter Name="pDispParams" Type="System.IntPtr" /><Parameter Name="pVarResult" Type="System.IntPtr" /><Parameter Name="pExcepInfo" Type="System.IntPtr" /><Parameter Name="puArgErr" Type="System.IntPtr" /></Parameters><Docs><param name="dispIdMember">To be added.</param><param name="riid">To be added.</param><param name="lcid">To be added.</param><param name="wFlags">To be added.</param><param name="pDispParams">To be added.</param><param name="pVarResult">To be added.</param><param name="pExcepInfo">To be added.</param><param name="puArgErr">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="ThrowException"><MemberSignature Language="C#" Value="public virtual void ThrowException (Type excType);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ThrowException(class System.Type excType) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="excType" Type="System.Type" /></Parameters><Docs><remarks>This will create an instance of the exception specified by the <paramref name="excType" /> and throw that.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Emits an instruction to throw an exception.</para></summary><param name="excType"><attribution license="cc4" from="Microsoft" modified="false" />The class of the type of exception to throw. </param></Docs></Member><Member MemberName="UsingNamespace"><MemberSignature Language="C#" Value="public virtual void UsingNamespace (string usingNamespace);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UsingNamespace(string usingNamespace) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="usingNamespace" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the current <see cref="T:System.Reflection.Emit.ILGenerator" /> is associated with a <see cref="T:System.Reflection.Emit.DynamicMethod" /> object, this method is not supported.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies the namespace to be used in evaluating locals and watches for the current active lexical scope.</para></summary><param name="usingNamespace"><attribution license="cc4" from="Microsoft" modified="false" />The namespace to be used in evaluating locals and watches for the current active lexical scope </param></Docs></Member></Members></Type>