Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

OpCodes.Ldobj, champ

Copie l'objet de type valeur sur lequel pointe une adresse en haut de la pile d'évaluation.

Espace de noms :  System.Reflection.Emit
Assembly :  mscorlib (dans mscorlib.dll)

public static readonly OpCode Ldobj

Le tableau suivant répertorie le format d'assembly hexadécimal et MSIL (Microsoft Intermediate Language) de l'instruction et donne un bref résumé de référence :

Format

Format d'assembly

Description

71 < T >

ldobj class

Copie une instance du type valeur class dans la pile.

Le comportement de transition de la pile, dans un ordre séquentiel, est le suivant :

  1. L'adresse d'un objet de type valeur fait l'objet d'un push dans la pile.

  2. L'adresse est dépilée et l'instance à l'adresse spécifique est recherchée.

  3. La valeur de l'objet stocké à cette adresse fait l'objet d'un push dans la pile.

L'instruction ldobj est utilisée pour passer un type valeur en tant que paramètre.

L'instruction ldobj copie la valeur sur laquelle pointe addrOfValObj (de type &, * ou native int) en haut de la pile. Le nombre d'octets copiés dépend de la taille de la classe (comme spécifié par le paramètre class). Le paramètre class est un jeton de métadonnées représentant le type valeur.

L'opération de l'instruction ldobj peut être modifiée par une instruction de préfixe Volatile ou Unaligned placée juste avant.

TypeLoadException est levé si la classe est introuvable. Cette exception est généralement détectée lors de la conversion de l'instruction MSIL (Microsoft Intermediate Language) en code natif et non pas au moment de l'exécution.

La surcharge de méthode Emit suivante peut utiliser l'opcode ldobj :

  • ILGenerator.Emit(OpCode, Type)

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft