ILGenerator Class

Definition

Generiert MSIL-Anweisungen (Microsoft Intermediate Language). Generates Microsoft intermediate language (MSIL) instructions.

[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
Vererbung
ILGenerator
Attribute
Implementiert

Hinweise

ILGenerator Dient zum Generieren von Methodentext für Methoden und Konstruktoren in dynamischen Assemblys (durch dargestellt die MethodBuilder und ConstructorBuilder Klassen) und für eigenständige dynamische Methoden (dargestellt durch die DynamicMethod Klasse).ILGenerator is used to generate method bodies for methods and constructors in dynamic assemblies (represented by the MethodBuilder and ConstructorBuilder classes) and for standalone dynamic methods (represented by the DynamicMethod class). Zum Abrufen einer ILGenerator, verwenden Sie die ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator, und MethodBuilder.GetILGenerator Methoden.To obtain an ILGenerator, use the ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator, and MethodBuilder.GetILGenerator methods.

MSIL wird als Eingabe für eine just-in-Time (JIT)-Compiler verwendet.MSIL is used as input to a just-in-time (JIT) compiler.

Eigenschaften

ILOffset

Ruft den aktuellen Offset in Bytes im MSIL-Datenstrom (Microsoft Intermediate Language) ab, der vom ILGenerator ausgegeben wird. Gets the current offset, in bytes, in the Microsoft intermediate language (MSIL) stream that is being emitted by the ILGenerator.

Methoden

BeginCatchBlock(Type)

Beginnt einen Catch-Block. Begins a catch block.

BeginExceptFilterBlock()

Beginnt einen Ausnahmeblock für eine gefilterte Ausnahme. Begins an exception block for a filtered exception.

BeginExceptionBlock()

Beginnt einen Ausnahmeblock für eine nicht gefilterte Ausnahme. Begins an exception block for a non-filtered exception.

BeginFaultBlock()

Beginnt einen Ausnahmefehlerblock im MSIL-Stream (Microsoft Intermediate Language). Begins an exception fault block in the Microsoft intermediate language (MSIL) stream.

BeginFinallyBlock()

Beginnt einen finally-Block im MSIL-Anweisungsstream (Microsoft Intermediate Language). Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.

BeginScope()

Leitet einen lexikalischen Gültigkeitsbereich ein. Begins a lexical scope.

DeclareLocal(Type)

Deklariert eine lokale Variable vom angegebenen Typ. Declares a local variable of the specified type.

DeclareLocal(Type, Boolean)

Deklariert eine lokale Variable des angegebenen Typs und fixiert optional das Objekt, auf das von der Variablen verwiesen wird. Declares a local variable of the specified type, optionally pinning the object referred to by the variable.

DefineLabel()

Deklariert eine neue Sprungmarke. Declares a new label.

Emit(OpCode)

Fügt die angegebene Anweisung in den Anweisungsstream ein. Puts the specified instruction onto the stream of instructions.

Emit(OpCode, Byte)

Fügt die angegebene Anweisung und das Zeichenargument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, ConstructorInfo)

Fügt die angegebene Anweisung und das Metadatentoken für den angegebenen Konstruktor in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and metadata token for the specified constructor onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Double)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, FieldInfo)

Fügt die angegebene Anweisung und das Metadatentoken für das angegebene Feld in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and metadata token for the specified field onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int16)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int32)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int64)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

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. Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

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. Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

Emit(OpCode, LocalBuilder)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, gefolgt vom Index der angegebenen lokalen Variable. Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the index of the given local 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. Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given method.

Emit(OpCode, SByte)

Fügt die angegebene Anweisung und das Zeichenargument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, SignatureHelper)

Fügt die angegebene Anweisung und ein Signaturtoken in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and a signature token onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Single)

Fügt die angegebene Anweisung und das numerische Argument in den MSIL-Anweisungsstream (Microsoft Intermediate Language) ein. Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, String)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, gefolgt vom Metadatentoken für die angegebene Zeichenfolge. Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given string.

Emit(OpCode, Type)

Fügt die angegebene Anweisung in den MSIL-Stream (Microsoft Intermediate Language) ein, gefolgt vom Metadatentoken für den angegebenen Typ. Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given type.

EmitCall(OpCode, MethodInfo, Type[])

Fügt eine call- oder callvirt-Anweisung in den MSIL-Datenstrom (Microsoft Intermediate Language) ein, um eine varargs-Methode aufzurufen. Puts a call or callvirt instruction onto the Microsoft intermediate language (MSIL) stream to call a varargs method.

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. Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying an unmanaged calling convention for the indirect call.

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. Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call.

EmitWriteLine(FieldInfo)

Gibt die für einen Aufruf von WriteLine mit dem angegebenen Feld benötigte Microsoft Intermediate Language (MSIL) aus. Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given field.

EmitWriteLine(LocalBuilder)

Gibt die für einen Aufruf von WriteLine mit der angegebenen lokalen Variable benötigte Microsoft Intermediate Language (MSIL) aus. Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given local variable.

EmitWriteLine(String)

Gibt die Microsoft Intermediate Language (MSIL) für einen Aufruf von WriteLine mit einer Zeichenfolge aus. Emits the Microsoft intermediate language (MSIL) to call WriteLine with a string.

EndExceptionBlock()

Beendet einen Ausnahmeblock. Ends an exception block.

EndScope()

Beendet einen lexikalischen Gültigkeitsbereich. Ends a lexical scope.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Fungiert als die Standardhashfunktion. Serves as the default hash function.

(Inherited from Object)
GetType()

Ruft den Type der aktuellen Instanz ab. Gets the Type of the current instance.

(Inherited from Object)
MarkLabel(Label)

Markiert die aktuelle Position des MSIL-Streams (Microsoft Intermediate Language) mit der angegebenen Sprungmarke. Marks the Microsoft intermediate language (MSIL) stream's current position with the given label.

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

Markiert einen Sequenzpunkt im MSIL-Stream (Microsoft Intermediate Language). Marks a sequence point in the Microsoft intermediate language (MSIL) stream.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object. Creates a shallow copy of the current Object.

(Inherited from Object)
ThrowException(Type)

Gibt eine Anweisung zum Auslösen einer Ausnahme aus. Emits an instruction to throw an exception.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. Returns a string that represents the current object.

(Inherited from 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. Specifies the namespace to be used in evaluating locals and watches for the current active lexical scope.

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. Maps a set of names to a corresponding set of dispatch identifiers.

_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. Retrieves the type information for an object, which can then be used to get the type information for an interface.

_ILGenerator.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). Retrieves the number of type information interfaces that an object provides (either 0 or 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. Provides access to properties and methods exposed by an object.

Gilt für: