ILGenerator Classe

Définition

Génère des instructions MSIL (Microsoft Intermediate Language).Generates Microsoft intermediate language (MSIL) instructions.

public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public class ILGenerator : System.Runtime.InteropServices._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
    interface _ILGenerator
Public Class ILGenerator
Implements _ILGenerator
Héritage
ILGenerator
Attributs
Implémente

Remarques

ILGenerator est utilisé pour générer des corps de méthode pour les méthodes et les constructeurs dans les assemblys dynamiques (représentés par les classes MethodBuilder et ConstructorBuilder) et pour les méthodes dynamiques autonomes (représentées par la classe DynamicMethod).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). Pour obtenir une ILGenerator, utilisez les méthodes ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGeneratoret MethodBuilder.GetILGenerator.To obtain an ILGenerator, use the ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator, and MethodBuilder.GetILGenerator methods.

MSIL est utilisé comme entrée d’un compilateur juste-à-temps (JIT, Just-in-Time).MSIL is used as input to a just-in-time (JIT) compiler.

Propriétés

ILOffset

Obtient l'offset actuel, en octets, dans le flux de Microsoft Intermediate Language (MSIL) émis par le ILGenerator.Gets the current offset, in bytes, in the Microsoft intermediate language (MSIL) stream that is being emitted by the ILGenerator.

Méthodes

BeginCatchBlock(Type)

Commence un bloc catch.Begins a catch block.

BeginExceptFilterBlock()

Commence un bloc d'exception pour une exception filtrée.Begins an exception block for a filtered exception.

BeginExceptionBlock()

Commence un bloc d'exception pour une exception non filtrée.Begins an exception block for a non-filtered exception.

BeginFaultBlock()

Commence un bloc d'erreur d'exception dans le flux MSIL.Begins an exception fault block in the Microsoft intermediate language (MSIL) stream.

BeginFinallyBlock()

Commence un bloc finally dans le flux d'instructions MSIL.Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.

BeginScope()

Commence une portée lexicale.Begins a lexical scope.

DeclareLocal(Type)

Déclare une variable locale du type spécifié.Declares a local variable of the specified type.

DeclareLocal(Type, Boolean)

Déclare une variable locale du type spécifié, en épinglant éventuellement l'objet auquel la variable fait référence.Declares a local variable of the specified type, optionally pinning the object referred to by the variable.

DefineLabel()

Déclare une nouvelle étiquette.Declares a new label.

Emit(OpCode)

Place l'instruction spécifiée dans le flux d'instructions.Puts the specified instruction onto the stream of instructions.

Emit(OpCode, Byte)

Place l'instruction et l'argument en caractères spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, ConstructorInfo)

Place l'instruction et le jeton de métadonnées spécifiés pour le constructeur donné dans le flux d'instructions MSIL.Puts the specified instruction and metadata token for the specified constructor onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Double)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, FieldInfo)

Place l'instruction et le jeton de métadonnées spécifiés pour le champ donné dans le flux d'instructions MSIL.Puts the specified instruction and metadata token for the specified field onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int16)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int32)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int64)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Label)

Place l'instruction spécifiée dans le flux MSIL et laisse suffisamment d'espace pour inclure une étiquette lorsque les corrections sont faites.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[])

Place l'instruction spécifiée dans le flux MSIL et laisse suffisamment d'espace pour inclure une étiquette lorsque les corrections sont faites.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)

Place l'instruction spécifiée dans le flux MSIL, en la faisant suivre de l'index de la variable locale donnée.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the index of the given local variable.

Emit(OpCode, MethodInfo)

Place l'instruction spécifiée dans le flux MSIL, en la faisant suivre du jeton de métadonnées de la méthode donnée.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given method.

Emit(OpCode, SByte)

Place l'instruction et l'argument en caractères spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, SignatureHelper)

Place l'instruction et un jeton de signature spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and a signature token onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Single)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, String)

Place l'instruction spécifiée dans le flux MSIL, en la faisant suivre du jeton de métadonnées de la chaîne donnée.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given string.

Emit(OpCode, Type)

Place l'instruction spécifiée dans le flux MSIL, en la faisant suivre du jeton de métadonnées pour le type donné.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given type.

EmitCall(OpCode, MethodInfo, Type[])

Place une instruction call ou callvirt dans le flux MSIL (Microsoft intermediate language) pour appeler une méthode varargs.Puts a call or callvirt instruction onto the Microsoft intermediate language (MSIL) stream to call a varargs method.

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

Place une instruction Calli dans le flux MSIL en spécifiant une convention d'appel non managée pour l'appel indirect.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[])

Place une instruction Calli dans le flux MSIL en spécifiant une convention d'appel managée pour l'appel indirect.Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call.

EmitWriteLine(FieldInfo)

Émet le code MSIL (Microsoft Intermediate Language) nécessaire pour appeler WriteLine avec le champ donné.Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given field.

EmitWriteLine(LocalBuilder)

Émet le langage MSIL nécessaire pour appeler WriteLine avec la variable locale donnée.Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given local variable.

EmitWriteLine(String)

Émet le code MSIL (Microsoft Intermediate Language) pour appeler WriteLine avec une chaîne.Emits the Microsoft intermediate language (MSIL) to call WriteLine with a string.

EndExceptionBlock()

Met fin à un bloc d'exception.Ends an exception block.

EndScope()

Met fin à une portée lexicale.Ends a lexical scope.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MarkLabel(Label)

Marque la position actuelle du flux MSIL avec l'étiquette donnée.Marks the Microsoft intermediate language (MSIL) stream's current position with the given label.

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

Marque un point de séquence dans le flux MSIL.Marks a sequence point in the Microsoft intermediate language (MSIL) stream.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ThrowException(Type)

Émet une instruction pour la levée d'une exception.Emits an instruction to throw an exception.

ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

(Hérité de Object)
UsingNamespace(String)

Spécifie un espace de noms à utiliser pour évaluer les variables locales et observe la portée lexicale active en cours.Specifies the namespace to be used in evaluating locals and watches for the current active lexical scope.

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_ILGenerator.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 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)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.Provides access to properties and methods exposed by an object.

S’applique à