DynamicILInfo Classe

Définition

Fournit la prise en charge d'autres façons de générer le code MSIL (Microsoft Intermediate Language) et les métadonnées d'une méthode dynamique, y compris les méthodes pour créer des jetons et pour insérer le code, la gestion des exceptions et les blobs de signature de variables locales.Provides support for alternative ways to generate the Microsoft intermediate language (MSIL) and metadata for a dynamic method, including methods for creating tokens and for inserting the code, exception handling, and local variable signature blobs.

public ref class DynamicILInfo
public class DynamicILInfo
[System.Runtime.InteropServices.ComVisible(true)]
public class DynamicILInfo
type DynamicILInfo = class
Public Class DynamicILInfo
Héritage
DynamicILInfo
Attributs

Remarques

La classe DynamicILInfo permet aux développeurs d’écrire leurs propres générateurs MSIL au lieu d’utiliser des ILGenerator.The DynamicILInfo class allows developers to write their own MSIL generators instead of using ILGenerator.

Pour créer des instances d’autres types, appeler des méthodes, etc., le code MSIL que vous générez doit inclure des jetons pour ces entités.To create instances of other types, call methods, and so on, the MSIL you generate must include tokens for those entities. La classe DynamicILInfo fournit plusieurs surcharges de la méthode GetTokenFor, qui retournent des jetons valides dans la portée du DynamicILInfoactuel.The DynamicILInfo class provides several overloads of the GetTokenFor method, which return tokens valid in the scope of the current DynamicILInfo. Par exemple, si vous devez appeler une surcharge de la méthode Console.WriteLine, vous pouvez obtenir une RuntimeMethodHandle pour cette surcharge et la passer à la méthode GetTokenFor pour obtenir un jeton à incorporer dans votre code MSIL.For example, if you need to call an overload of the Console.WriteLine method, you can obtain a RuntimeMethodHandle for that overload and pass it to the GetTokenFor method to obtain a token to embed in your MSIL.

Une fois que vous avez créé Byte des tableaux pour la signature de la variable locale, les exceptions et le corps du code, vous pouvez utiliser les méthodes SetCode, SetExceptionset SetLocalSignature pour les insérer dans le DynamicMethod associé à votre objet DynamicILInfo.Once you have created Byte arrays for your local variable signature, exceptions, and code body, you can use the SetCode, SetExceptions, and SetLocalSignature methods to insert them into the DynamicMethod associated with your DynamicILInfo object.

La génération de vos propres métadonnées et MSIL requiert une connaissance de la documentation Common Language Infrastructure (CLI), en particulier « Partition II : Metadata Definition and Semantics » et « Partition III : CIL Instruction Set ».Generating your own metadata and MSIL requires familiarity with the Common Language Infrastructure (CLI) documentation, especially "Partition II: Metadata Definition and Semantics" and "Partition III: CIL Instruction Set". La documentation est disponible en ligne. Consultez ECMA C# and Common Language Infrastructure Standards sur MSDN et Standard ECMA-335 - Common Language Infrastructure (CLI) sur le site web d’Ecma International.The documentation is available online; see ECMA C# and Common Language Infrastructure Standards on MSDN and Standard ECMA-335 - Common Language Infrastructure (CLI) on the Ecma International Web site.

Notes

N’utilisez pas DynamicILInfo pour générer du code qui crée un délégué vers une autre méthode dynamique en appelant directement le constructeur délégué.Do not use DynamicILInfo to generate code that creates a delegate to another dynamic method by calling the delegate constructor directly. Au lieu de cela, utilisez la méthode CreateDelegate pour créer le délégué.Instead, use the CreateDelegate method to create the delegate. Un délégué créé avec le constructeur délégué n’a pas de référence à la méthode dynamique cible.A delegate that is created with the delegate constructor does not have a reference to the target dynamic method. La méthode dynamique peut être récupérée par garbage collection alors que le délégué est toujours en cours d’utilisation.The dynamic method might be reclaimed by garbage collection while the delegate is still in use.

Propriétés

DynamicMethod

Obtient la méthode dynamique dont le corps est généré par l'instance actuelle.Gets the dynamic method whose body is generated by the current instance.

Méthodes

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)
GetTokenFor(Byte[])

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, représentant la signature de la méthode dynamique associée.Gets a token, valid in the scope of the current DynamicILInfo, representing the signature for the associated dynamic method.

GetTokenFor(DynamicMethod)

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, représentant une méthode dynamique à appeler par la méthode associée.Gets a token, valid in the scope of the current DynamicILInfo, representing a dynamic method to be called from the associated method.

GetTokenFor(RuntimeFieldHandle)

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, représentant un champ accessible à partir de la méthode dynamique associée.Gets a token, valid in the scope of the current DynamicILInfo, representing a field to be accessed from the associated dynamic method.

GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle)

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, représentant un champ accessible à partir de la méthode dynamique associée ; le champ est du type générique spécifié.Gets a token, valid in the scope of the current DynamicILInfo, representing a field to be accessed from the associated dynamic method; the field is on the specified generic type.

GetTokenFor(RuntimeMethodHandle)

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, représentant une méthode à laquelle accéder à partir de la méthode dynamique associée.Gets a token, valid in the scope of the current DynamicILInfo, representing a method to be accessed from the associated dynamic method.

GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle)

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, qui représente une méthode sur un type générique.Gets a token, valid in the scope of the current DynamicILInfo, representing a method on a generic type.

GetTokenFor(RuntimeTypeHandle)

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, représentant un type à utiliser dans la méthode dynamique associée.Gets a token, valid in the scope of the current DynamicILInfo, representing a type to be used in the associated dynamic method.

GetTokenFor(String)

Obtient un jeton, valide dans la portée du DynamicILInfo actuel, représentant un littéral de chaîne à utiliser dans la méthode dynamique associée.Gets a token, valid in the scope of the current DynamicILInfo, representing a string literal to be used in the associated dynamic method.

GetType()

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

(Hérité de Object)
MemberwiseClone()

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

(Hérité de Object)
SetCode(Byte*, Int32, Int32)

Définit le corps du code de la méthode dynamique associée.Sets the code body of the associated dynamic method.

SetCode(Byte[], Int32)

Définit le corps du code de la méthode dynamique associée.Sets the code body of the associated dynamic method.

SetExceptions(Byte*, Int32)

Définit les métadonnées d'exception de la méthode dynamique associée.Sets the exception metadata for the associated dynamic method.

SetExceptions(Byte[])

Définit les métadonnées d'exception de la méthode dynamique associée.Sets the exception metadata for the associated dynamic method.

SetLocalSignature(Byte*, Int32)

Définit la signature des variables locales qui décrit la mise en forme des variables locales de la méthode dynamique associée.Sets the local variable signature that describes the layout of local variables for the associated dynamic method.

SetLocalSignature(Byte[])

Définit la signature des variables locales qui décrit la mise en forme des variables locales de la méthode dynamique associée.Sets the local variable signature that describes the layout of local variables for the associated dynamic method.

ToString()

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

(Hérité de Object)

S’applique à