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.Ldind_U2, champ

Charge indirectement une valeur de type unsigned int16 en tant que int32 dans la pile d'évaluation.

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

public static readonly OpCode Ldind_U2

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

49

ldind.u2

Charge la valeur unsigned int16 à l'adresse addr dans la pile en tant que int32.

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

  1. Une adresse fait l'objet d'un push dans la pile.

  2. L'adresse est dépilée et la valeur située à l'adresse est extraite.

  3. La valeur extraite fait l'objet d'un push dans la pile.

L'instruction ldind.u2 charge indirectement une valeur unsigned int16 à partir de l'adresse spécifiée (de type native int, & ou *) dans la pile en tant que int32.

Toutes les instructions ldind sont des raccourcis pour une instruction Ldobj qui spécifie la classe value intégrée correspondante.

Notez que les valeurs entières inférieures à 4 octets sont étendues à int32 (et non pas native int) lorsqu'elles sont chargées dans la pile d'évaluation. Les valeurs à virgule flottante sont converties en type F lorsqu'elles sont chargées dans la pile d'évaluation.

Le langage MSIL correct vérifie que les instructions ldind sont utilisées de façon cohérente avec le type du pointeur.

L'adresse ayant initialement fait l'objet d'un push dans la pile doit être alignée sur la taille naturelle des objets sur l'ordinateur ou NullReferenceException peut se produire (consultez l'instruction de préfixe Unaligned pour connaître les mesures préventives à adopter). Les résultats de toutes les instructions MSIL retournant les adresses (par exemple, les champs Ldloca et Ldarga) sont alignés en toute sécurité. Pour les types de données supérieurs à 1 octet, l'ordre d'octets dépend de l'unité centrale cible. Il se peut que le code dépendant de l'ordre d'octets ne s'exécute pas sur toutes les plateformes.

NullReferenceException peut être levé si une adresse non valide est détectée.

La surcharge de méthode Emit suivante peut utiliser l'opcode ldind.u2 :

  • ILGenerator.Emit(OpCode)

.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
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft