ILGenerator Klasse

Definition

Generiert MSIL-Anweisungen (Microsoft Intermediate Language).

public ref class ILGenerator
public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public 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 Class ILGenerator
Implements _ILGenerator
Vererbung
ILGenerator
Attribute
Implementiert

Hinweise

ILGenerator wird verwendet, um Methoden und Konstruktoren in dynamischen Assemblys (dargestellt durch die MethodBuilder und ConstructorBuilder Klassen) und für eigenständige dynamische Methoden (dargestellt durch die DynamicMethod Klasse) zu generieren. Um eine ILGenerator, verwenden Sie die ConstructorBuilder.GetILGeneratorDynamicMethod.GetILGenerator, und MethodBuilder.GetILGenerator Methoden.

MSIL wird als Eingabe für einen Just-In-Time-Compiler (JIT) verwendet.

Eigenschaften

ILOffset

Ruft den aktuellen Offset in Bytes im MSIL-Datenstrom (Microsoft Intermediate Language) ab, der vom ILGenerator ausgegeben wird.

Methoden

BeginCatchBlock(Type)

Beginnt einen Catch-Block.

BeginExceptFilterBlock()

Beginnt einen Ausnahmeblock für eine gefilterte Ausnahme.

BeginExceptionBlock()

Beginnt einen Ausnahmeblock für eine nicht gefilterte Ausnahme.

BeginFaultBlock()

Beginnt einen Ausnahmefehlerblock im MSIL-Stream (Microsoft Intermediate Language).

BeginFinallyBlock()

Beginnt einen finally-Block im MSIL-Anweisungsstream (Microsoft Intermediate Language).

BeginScope()

Leitet einen lexikalischen Gültigkeitsbereich ein.

DeclareLocal(Type)

Deklariert eine lokale Variable vom angegebenen Typ.

DeclareLocal(Type, Boolean)

Deklariert eine lokale Variable des angegebenen Typs und fixiert optional das Objekt, auf das von der Variablen verwiesen wird.

DefineLabel()

Deklariert eine neue Sprungmarke.

Emit(OpCode)

Fügt die angegebene Anweisung in den Anweisungsstream ein.

Emit(OpCode, Byte)

Fügt die angegebene Anweisung und das Zeichenargument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, ConstructorInfo)

Fügt die angegebene Anweisung und das Metadatentoken für den angegebenen Konstruktor in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, Double)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, FieldInfo)

Fügt die angegebene Anweisung und das Metadatentoken für das angegebene Feld in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, Int16)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, Int32)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, Int64)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, Label)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein und lässt für den Fall von Korrekturen Platz zum Einfügen einer Sprungmarke.

Emit(OpCode, Label[])

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein und lässt für den Fall von Korrekturen Platz zum Einfügen einer Sprungmarke.

Emit(OpCode, LocalBuilder)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, gefolgt vom Index der angegebenen lokalen Variable.

Emit(OpCode, MethodInfo)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, gefolgt vom Metadatentoken für die angegebene Methode.

Emit(OpCode, SByte)

Fügt die angegebene Anweisung und das Zeichenargument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, SignatureHelper)

Fügt die angegebene Anweisung und ein Signaturtoken in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, Single)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein.

Emit(OpCode, String)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, gefolgt vom Metadatentoken für die angegebene Zeichenfolge.

Emit(OpCode, Type)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, gefolgt vom Metadatentoken für den angegebenen Typ.

EmitCall(OpCode, MethodInfo, Type[])

Fügt eine call- oder callvirt-Anweisung in den MSIL-Datenstrom (Microsoft Intermediate Language) ein, um eine varargs-Methode aufzurufen.

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

Fügt eine Calli-Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, die eine nicht verwaltete Aufrufkonvention für den indirekten Aufruf angibt.

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

Fügt eine Calli-Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, die eine verwaltete Aufrufkonvention für den indirekten Aufruf angibt.

EmitWriteLine(FieldInfo)

Gibt die für einen Aufruf von WriteLine mit dem angegebenen Feld benötigte Microsoft Intermediate Language (MSIL) aus.

EmitWriteLine(LocalBuilder)

Gibt die für einen Aufruf von WriteLine mit der angegebenen lokalen Variable benötigte Microsoft Intermediate Language (MSIL) aus.

EmitWriteLine(String)

Gibt die Microsoft Intermediate Language (MSIL) für einen Aufruf von WriteLine mit einer Zeichenfolge aus.

EndExceptionBlock()

Beendet einen Ausnahmeblock.

EndScope()

Beendet einen lexikalischen Gültigkeitsbereich.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MarkLabel(Label)

Markiert die aktuelle Position des MSIL-Streams (Microsoft Intermediate Language) mit der angegebenen Sprungmarke.

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

Markiert einen Sequenzpunkt im MSIL-Stream (Microsoft Intermediate Language).

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ThrowException(Type)

Gibt eine Anweisung zum Auslösen einer Ausnahme aus.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UsingNamespace(String)

Gibt den Namespace an, der zur Auswertung der lokalen Variablen und Überwachungen für den derzeit aktiven lexikalischen Gültigkeitsbereich verwendet werden soll.

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann zum Abrufen der Typinformationen für eine Schnittstelle verwendet werden können.

_ILGenerator.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

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

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

Gilt für: