Freigeben über


ILGenerator Klasse

Definition

Generiert MSIL-Anweisungen (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
Vererbung
ILGenerator
Attribute
Implementiert

Hinweise

ILGenerator wird verwendet, um Methodentexte für Methoden und Konstruktoren in dynamischen Assemblys (dargestellt durch die klassen MethodBuilder und ConstructorBuilder) und für eigenständige dynamische Methoden (dargestellt durch die DynamicMethod-Klasse) zu generieren. Verwenden Sie zum Abrufen eines ILGeneratordie Methoden ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGeneratorund MethodBuilder.GetILGenerator.

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

Konstruktoren

ILGenerator()

Initialisiert eine neue Instanz der ILGenerator Klasse.

Eigenschaften

ILOffset

Ruft den aktuellen Offset in Bytes im Microsoft-Datenstrom (Intermediate Language, MSIL) ab, der vom ILGeneratorausgegeben 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()

Startet einen Ausnahmefehlerblock im Microsoft-Datenstrom (Intermediate Language, MSIL).

BeginFinallyBlock()

Beginnt einen endgültigen Block im Microsoft Intermediate Language (MSIL)-Anweisungsstream.

BeginScope()

Beginnt einen lexikalischen Bereich.

CreateLabel(Int32)

Erstellt eine Label mit der angegebenen ID.

DeclareLocal(Type)

Deklariert eine lokale Variable des angegebenen Typs.

DeclareLocal(Type, Boolean)

Deklariert eine lokale Variable des angegebenen Typs, optional indem das objekt angeheftet wird, auf das von der Variablen verwiesen wird.

DefineLabel()

Deklariert eine neue Bezeichnung.

Emit(OpCode)

Platziert die angegebene Anweisung in den Datenstrom der Anweisungen.

Emit(OpCode, Byte)

Fügt das angegebene Anweisungs- und Zeichenargument in den MSIL-Datenstrom (Microsoft Intermediate Language) der Anweisungen ein.

Emit(OpCode, ConstructorInfo)

Fügt das angegebene Anweisungs- und Metadatentoken für den angegebenen Konstruktor in den Microsoft-Zwischensprachdatenstrom (MSIL) der Anweisungen ein.

Emit(OpCode, Double)

Fügt die angegebene Anweisung und das numerische Argument in den Microsoft-Datenstrom der Zwischensprache (MSIL) der Anweisungen ein.

Emit(OpCode, FieldInfo)

Fügt das angegebene Anweisungs- und Metadatentoken für das angegebene Feld in den Microsoft-Zwischensprachdatenstrom (MSIL) der Anweisungen ein.

Emit(OpCode, Int16)

Fügt die angegebene Anweisung und das numerische Argument in den Microsoft-Datenstrom der Zwischensprache (MSIL) der Anweisungen ein.

Emit(OpCode, Int32)

Fügt die angegebene Anweisung und das numerische Argument in den Microsoft-Datenstrom der Zwischensprache (MSIL) der Anweisungen ein.

Emit(OpCode, Int64)

Fügt die angegebene Anweisung und das numerische Argument in den Microsoft-Datenstrom der Zwischensprache (MSIL) der Anweisungen ein.

Emit(OpCode, Label)

Fügt die angegebene Anweisung in den Microsoft-Datenstrom (Intermediate Language, MSIL) ein und lässt Platz, um eine Beschriftung einzuschließen, wenn Korrekturen durchgeführt werden.

Emit(OpCode, Label[])

Fügt die angegebene Anweisung in den Microsoft-Datenstrom (Intermediate Language, MSIL) ein und lässt Platz, um eine Beschriftung einzuschließen, wenn Korrekturen durchgeführt werden.

Emit(OpCode, LocalBuilder)

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

Emit(OpCode, MethodInfo)

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

Emit(OpCode, SByte)

Fügt das angegebene Anweisungs- und Zeichenargument in den MSIL-Datenstrom (Microsoft Intermediate Language) der Anweisungen ein.

Emit(OpCode, SignatureHelper)

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

Emit(OpCode, Single)

Fügt die angegebene Anweisung und das numerische Argument in den Microsoft-Datenstrom der Zwischensprache (MSIL) der Anweisungen ein.

Emit(OpCode, String)

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

Emit(OpCode, Type)

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

EmitCall(OpCode, MethodInfo, Type[])

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

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

Fügt eine Calli Anweisung in den Microsoft-Datenstrom (Intermediate Language, MSIL) ein, wobei eine nicht verwaltete Anrufkonvention für den indirekten Anruf angegeben wird.

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

Fügt eine Calli Anweisung in den Microsoft-Datenstrom (Intermediate Language, MSIL) und gibt eine verwaltete Anrufkonvention für den indirekten Anruf an.

EmitWriteLine(FieldInfo)

Gibt die Microsoft-Zwischensprache (MSIL) aus, die zum Aufrufen von WriteLine mit dem angegebenen Feld erforderlich ist.

EmitWriteLine(LocalBuilder)

Gibt die Microsoft-Zwischensprache (MSIL) aus, die erforderlich ist, um WriteLine mit der angegebenen lokalen Variablen aufzurufen.

EmitWriteLine(String)

Gibt die Microsoft-Zwischensprache (MSIL) aus, um WriteLine mit einer Zeichenfolge aufzurufen.

EndExceptionBlock()

Beendet einen Ausnahmeblock.

EndScope()

Beendet einen lexikalischen Bereich.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MarkLabel(Label)

Markiert die aktuelle Position des Microsoft-Zwischensprachdatenstroms (MSIL) mit der angegebenen Bezeichnung.

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

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

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

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Sequenzpunkt im Microsoft-Datenstrom (Intermediate Language, MSIL) markiert.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ThrowException(Type)

Gibt eine Anweisung aus, um eine Ausnahme auszuwerfen.

ToString()

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

(Geerbt von Object)
UsingNamespace(String)

Gibt den Namespace an, der bei der Auswertung von Locals und Watches für den aktuellen aktiven lexikalischen Bereich verwendet werden soll.

Explizite Schnittstellenimplementierungen

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

Ordnet einen Satz von Namen einem entsprechenden Satz von Verteiler-IDs zu.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, die dann verwendet werden können, um die Typinformationen für eine Schnittstelle abzurufen.

_ILGenerator.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Typinformationsschnittstellen ab, die ein Objekt bereitstellt (entweder 0 oder 1).

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

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

Gilt für: