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

Dépile la valeur actuelle du haut de la pile d'évaluation et la stocke dans la liste de variables locales à un index spécifié.

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

public static readonly OpCode Stloc

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

FE 0E < unsigned int16 >

stloc index

Dépile une valeur et la stocke dans la variable locale index.

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

  1. Une valeur est dépilée et placée dans la variable locale index.

L'instruction stloc dépile la valeur la plus haute de la pile d'évaluation et la déplace dans la variable locale index, où les variables locales sont numérotées à partir de 0. Le type de la valeur doit correspondre à celui de la variable locale, comme spécifié dans la signature locale de la méthode actuelle.

Stocker dans les variables locales contenant une valeur entière inférieure à 4 octets tronque la valeur lorsque qu'elle est déplacée de la pile vers la variable locale. Les valeurs à virgule flottante sont arrondies à partir de leur taille native (type F) à celle associée à l'argument.

Les instructions MSIL (Microsoft Intermediate Language) correctes requièrent que index soit un index local valide. Pour l'instruction stloc, index doit être compris entre 0 et 65534 inclus (spécifiquement, 65535 n'est pas valide). La raison de l'exclusion de 65535 est pragmatique : les implémentations éventuelles utiliseront un entier de 2 octets pour assurer le suivi à la fois d'un index de variable locale et du nombre total de variables locales pour une méthode donnée. Si un index 65 535 avait été rendu valide, un entier plus grand serait nécessaire pour assurer le suivi du nombre de variables locales dans cette méthode.

Les surcharges de méthodes Emit suivantes peuvent utiliser l'opcode stloc :

  • ILGenerator.Emit(OpCode, LocalBuilder)

  • ILGenerator.Emit(OpCode, short)

.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:
© 2015 Microsoft