ILGenerator Classe

Définition

Génère des instructions 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
Héritage
ILGenerator
Attributs
Implémente

Remarques

ILGeneratorest 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 et ConstructorBuilder ) et pour les MethodBuilder méthodes dynamiques autonomes (représentées par la DynamicMethod classe ). Pour obtenir un ILGenerator, utilisez les ConstructorBuilder.GetILGeneratorméthodes , DynamicMethod.GetILGeneratoret MethodBuilder.GetILGenerator .

MSIL est utilisé comme entrée d’un compilateur juste-à-temps (JIT).

Constructeurs

ILGenerator()

Initialise une nouvelle instance de la classe ILGenerator.

Propriétés

ILOffset

Obtient l'offset actuel, en octets, dans le flux de Microsoft Intermediate Language (MSIL) émis par le ILGenerator.

Méthodes

BeginCatchBlock(Type)

Commence un bloc catch.

BeginExceptFilterBlock()

Commence un bloc d'exception pour une exception filtrée.

BeginExceptionBlock()

Commence un bloc d'exception pour une exception non filtrée.

BeginFaultBlock()

Commence un bloc d'erreur d'exception dans le flux MSIL.

BeginFinallyBlock()

Commence un bloc finally dans le flux d'instructions MSIL.

BeginScope()

Commence une portée lexicale.

CreateLabel(Int32)

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

DeclareLocal(Type)

Déclare une variable locale du type spécifié.

DeclareLocal(Type, Boolean)

Déclare une variable locale du type spécifié, en épinglant éventuellement l'objet auquel la variable fait référence.

DefineLabel()

Déclare une nouvelle étiquette.

Emit(OpCode)

Place l'instruction spécifiée dans le flux d'instructions.

Emit(OpCode, Byte)

Place l'instruction et l'argument en caractères spécifiés dans le flux d'instructions MSIL.

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.

Emit(OpCode, Double)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.

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.

Emit(OpCode, Int16)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.

Emit(OpCode, Int32)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.

Emit(OpCode, Int64)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.

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.

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.

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.

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.

Emit(OpCode, SByte)

Place l'instruction et l'argument en caractères spécifiés dans le flux d'instructions MSIL.

Emit(OpCode, SignatureHelper)

Place l'instruction et un jeton de signature spécifiés dans le flux d'instructions MSIL.

Emit(OpCode, Single)

Place l'instruction et l'argument numérique spécifiés dans le flux d'instructions MSIL.

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.

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é.

EmitCall(OpCode, MethodInfo, Type[])

Place une instruction call ou callvirt dans le flux MSIL (Microsoft intermediate language) pour appeler une méthode varargs.

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.

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.

EmitWriteLine(FieldInfo)

Émet le code MSIL (Microsoft Intermediate Language) nécessaire pour appeler WriteLine avec le champ donné.

EmitWriteLine(LocalBuilder)

Émet le langage MSIL nécessaire pour appeler WriteLine avec la variable locale donnée.

EmitWriteLine(String)

Émet le code MSIL (Microsoft Intermediate Language) pour appeler WriteLine avec une chaîne.

EndExceptionBlock()

Met fin à un bloc d'exception.

EndScope()

Met fin à une portée lexicale.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

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

Marque la position actuelle du flux MSIL avec l'étiquette donnée.

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

Marque un point de séquence dans le flux MSIL.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

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

Émet une instruction pour la levée d'une exception.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(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.

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.

_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.

_ILGenerator.GetTypeInfoCount(UInt32)

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

S’applique à