Sdílet prostřednictvím


ILGenerator Třída

Definice

Generuje pokyny jazyka MSIL (Microsoft Intermediate Language).

public ref class ILGenerator
public ref class ILGenerator abstract
public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public class ILGenerator
public abstract class ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
type ILGenerator = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type ILGenerator = class
    interface _ILGenerator
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ILGenerator = class
    interface _ILGenerator
Public Class ILGenerator
Public MustInherit Class ILGenerator
Public Class ILGenerator
Implements _ILGenerator
Dědičnost
ILGenerator
Atributy
Implementuje

Poznámky

ILGenerator slouží ke generování těl metod pro metody a konstruktory v dynamických sestaveních (reprezentované třídami MethodBuilder a ConstructorBuilder) a pro samostatné dynamické metody (reprezentované DynamicMethod třídou). K získání ILGeneratorpoužijte metody ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGeneratora MethodBuilder.GetILGenerator.

Jazyk MSIL se používá jako vstup kompilátoru JIT (just-in-time).

Konstruktory

ILGenerator()

Inicializuje novou instanci ILGenerator třídy.

Vlastnosti

ILOffset

Získá aktuální posun v bajtech v microsoft intermediate language (MSIL) stream, který je generován ILGenerator.

Metody

BeginCatchBlock(Type)

Začne blok zachycení.

BeginExceptFilterBlock()

Zahájí blok výjimky pro filtrovanou výjimku.

BeginExceptionBlock()

Začne blok výjimky pro nefiltrovanou výjimku.

BeginFaultBlock()

Zahájí blok chyby výjimky ve streamu jazyka MSIL (Microsoft Intermediate Language).

BeginFinallyBlock()

Začne konečně blok v instrukčním streamu jazyka MSIL (Microsoft Intermediate Language).

BeginScope()

Začíná lexikální obor.

CreateLabel(Int32)

Vytvoří Label s daným ID.

DeclareLocal(Type)

Deklaruje místní proměnnou zadaného typu.

DeclareLocal(Type, Boolean)

Deklaruje místní proměnnou zadaného typu a volitelně připne objekt odkazovaný proměnnou.

DefineLabel()

Deklaruje nový popisek.

Emit(OpCode)

Umístí zadanou instrukci do datového proudu instrukcí.

Emit(OpCode, Byte)

Vloží zadaný instrukční a znakový argument do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, ConstructorInfo)

Vloží zadaný instrukční token a token metadat pro zadaný konstruktor do datového proudu microsoft intermediate language (MSIL).

Emit(OpCode, Double)

Vloží zadaný instrukční a číselný argument do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, FieldInfo)

Vloží zadaný instrukční token a token metadat pro zadané pole do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int16)

Vloží zadaný instrukční a číselný argument do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int32)

Vloží zadaný instrukční a číselný argument do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, Int64)

Vloží zadaný instrukční a číselný argument do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, Label)

Umístí zadanou instrukci do datového proudu jazyka MSIL (Microsoft Intermediate Language) a po dokončení oprav ponechá místo na zahrnutí popisku.

Emit(OpCode, Label[])

Umístí zadanou instrukci do datového proudu jazyka MSIL (Microsoft Intermediate Language) a po dokončení oprav ponechá místo na zahrnutí popisku.

Emit(OpCode, LocalBuilder)

Umístí zadanou instrukci do datového proudu jazyka MSIL (Microsoft Intermediate Language) následovaný indexem dané místní proměnné.

Emit(OpCode, MethodInfo)

Umístí zadanou instrukci do datového proudu jazyka MSIL (Microsoft Intermediate Language) následovaný tokenem metadat pro danou metodu.

Emit(OpCode, SByte)

Vloží zadaný instrukční a znakový argument do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, SignatureHelper)

Vloží zadanou instrukci a token podpisu do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, Single)

Vloží zadaný instrukční a číselný argument do datového proudu instrukcí jazyka MSIL (Microsoft Intermediate Language).

Emit(OpCode, String)

Vloží zadanou instrukci do datového proudu jazyka MSIL (Microsoft Intermediate Language) následovaný tokenem metadat pro daný řetězec.

Emit(OpCode, Type)

Umístí zadanou instrukci do datového proudu jazyka MSIL (Microsoft Intermediate Language) následovaný tokenem metadat pro daný typ.

EmitCall(OpCode, MethodInfo, Type[])

Umístí call nebo callvirt instrukce do datového proudu jazyka MSIL (Microsoft Intermediate Language) pro volání varargs metody.

EmitCalli(OpCode, CallingConvention, Type, Type[])

Umístí Calli instrukce do datového proudu jazyka MSIL (Microsoft Intermediate Language), který určuje nespravovanou konvenci volání pro nepřímé volání.

EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])

Umístí Calli instrukce do datového proudu jazyka MSIL (Microsoft Intermediate Language) a určí spravovanou konvenci volání pro nepřímé volání.

EmitWriteLine(FieldInfo)

Generuje jazyk MSIL (Microsoft Intermediate Language) potřebný k volání WriteLine s daným polem.

EmitWriteLine(LocalBuilder)

Generuje jazyk MSIL (Microsoft Intermediate Language) potřebný k volání WriteLine s danou místní proměnnou.

EmitWriteLine(String)

Vygeneruje jazyk MSIL (Microsoft Intermediate Language) pro volání WriteLine s řetězcem.

EndExceptionBlock()

Ukončí blok výjimky.

EndScope()

Končí lexikální obor.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MarkLabel(Label)

Označí aktuální pozici datového proudu jazyka MSIL (Microsoft Intermediate Language) s daným popiskem.

MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

Označí bod sekvence v datovém proudu jazyka MSIL (Microsoft Intermediate Language).

MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

Při přepsání v odvozené třídě označí bod sekvence ve streamu jazyka MSIL (Microsoft Intermediate Language).

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ThrowException(Type)

Vygeneruje pokyn k vyvolání výjimky.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
UsingNamespace(String)

Určuje obor názvů, který se má použít při vyhodnocování místních hodnot a sleduje aktuální aktivní lexikální obor.

Explicitní implementace rozhraní

_ILGenerator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů odeslání.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu rozhraní.

_ILGenerator.GetTypeInfoCount(UInt32)

Načte počet rozhraní informací o typu, která objekt poskytuje (buď 0, nebo 1).

_ILGenerator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

Platí pro